[oop] ile etiketlenen soru

Bağımlılık İnversiyon Prensibi (SOLID) vs Kapsülleme (OOP Sütunları)

Son zamanlarda Bağımlılık İnversiyon Prensibi , Kontrolün İnversiyon ve Bağımlılık Enjeksiyonu Konusunda tartışıyordum . Bu konuyla ilgili olarak, bu ilkelerin OOP sütunlarından birini, yani Kapsülleme'yi ihlal edip etmediğini tartışıyorduk . Bu şeyleri anlamam: Bağımlılık Ters İlke nesn...



Bir arayüz diğerinden "miras" aldığında buna ne diyorsunuz?

B sınıfım varsa: {} "Sınıf B miras A sınıfı" veya "B sınıfı A sınıfından türetilir" diyorum . Ancak, eğer varsa: class B : ISomeInterface {} o "ISomeInterface devralır B" demek yanlış - doğru terim "B demek ki uygular ISomeInterface". Ama diyelim ki interface ISomeInte...



Alt sınıfları bir yöntemi uygulamaya zorlama

Bir nesne yapısı oluşturuyorum ve tabanın tüm alt sınıflarının bir yöntem uygulamak zorunda kalmasını istiyorum. Bunu yapmayı düşünebilmemin tek yolu: Soyut bir sınıf - Çalışır ama temel sınıf bazı alt sınıfların kullandığı bazı faydalı yardımcı fonksiyonlara sahiptir. Arabirim - Yalnız...



“Bir arayüze karşı kodla, bir nesneye karşı kodla” için Python sürümü nedir?

Buradan büyük bir sorudan (ve büyük cevaplardan oluşan gruptan) esinlenilmiştir . Python'da "Arayüze karşı kodlama, nesne değil" ifadesinin bir önemi var mı? Orijinal sorudakiler gibi cevaplar arıyorum ama Python snippet'leri ve düşünceleri var. ...



Sınıf yöntemi çağrılırken “tanımlanmamış işlev çağrısı” hatası

bu hatadır Fatal error: Call to undefined function assign( kod budur, görebildiğiniz gibi açıkça fonksiyonu tanımladım, bu yüzden neden çalışmıyor class shades { function create($name, $shades, $slug, $shortDesc, $longDesc, $position){ $name = sanitize_paranoid_string($name); ...



Soyut bir temel sınıf olmadan bir soyundan bir yöntemi geçersiz kılmaya zorlamak nasıl?

Soru Başlığı biraz kafa karıştırıcı gibi görünüyor, ancak sorumu burada çözmeye çalışacağım. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public abstract class Employee { private string name; ...



Yöntemler ne zaman özel yapılmalıdır? [kapalı]

Belirli bir yöntemin özel yapılması gerekip gerekmediğinden emin olmadığım birçok zaman vardır. Örneğin, şu anda bir rapor oluşturmaktan sorumlu bir sınıf oluşturuyorum. Bu sınıf, bir buildReport yöntemine ve buildReport için gerekli verileri toplayan çeşitli yöntemlere sahiptir. // single pu...



Java’daki özellikler neden genel olabilir?

Herkesin bildiği gibi, Java, veri kapsüllemesinin bir nesnenin alanlarının (niteliklerinin) dış dünya için gizlenmesi gerektiğini ve yalnızca yöntemlerle erişilebileceğini veya bu yöntemlerin dış için sınıfın tek arayüzü olduğunu belirten nesne yönelimi paradigmalarını izler. dünya. Öyleyse nede...



Yöntemler ve özellikler üzerindeki görünürlük miktarı neden önemlidir?

Neden bir kişi tüm metot ve nitelikleri her yerden erişilebilir olarak bırakmamalıdır public? Eğer Can bana bir örnek verebilir ben gibi bir özelliği ilan eğer içine çalıştırabilirsiniz bir sorun public? ...



Neden C# 'daki yöntemleri geçersiz kılarken erişim değiştiricisini değiştiremiyoruz?

C # 'da, baz sınıfından bir yöntemi geçersiz kılarken erişim değiştiricisini değiştiremeyiz. Örneğin Class Base { **protected** string foo() { return "Base"; } } Class Derived : Base { **public** override string foo() { return "Derived"; } } ...



Neden ilişkili protokol türleri için Swift'de genel tür sözdizimini kullanmıyorsunuz?

Bir yandan, protokoller için ilişkili türler için kullanılan sözdizimi, diğer yandan genel türler arasındaki fark konusunda kafam karıştı. Örneğin Swift'de, biri bir şey kullanarak genel bir tür tanımlayabilir struct Stack<T> { var items = [T]() mutating func push(item: T) ...



Yöntem <SınıfAdı> ne anlama geliyor?

Birkaç defa bu sözdizimini gördüm ve endişelenmeye başladı. Örneğin: iCalendar iCal = new iCalendar(); Event evt = iCal.Create<Event>(); ...



Bir sınıf nasıl kendi türünde bir üyeye sahip olabilir, bu sonsuz özyinelemede değil mi?

Diyelim ki üye olarak kendisiyle aynı tipte bir değişkeni olan bir sınıf tanımladım. public class abc { private abc p; } Bu gerçekten işe yarıyor, benim için çok şaşırttı. Neden yapmaması gerektiğini düşünüyorum: bir örnek oluşturmak abc, tür abcdeğişkeni abciçeren bir tür deği...



Bir PHP sınıfını başka bir sınıf içinde başlatabilir miyim?

Başka bir sınıfın içinde bir sınıf örneği oluşturmasına izin verilip verilmediğini merak ediyordum. Yoksa, onu dışarıda yaratmam ve sonra kurucudan geçirmem gerekir mi? Ama sonra, ihtiyacım olup olmadığını bilmeden yaratırdım. Örnek (bir veritabanı sınıfı): class some{ if(.....){ in...



Qt Olmayan Temel Sınıflar

Qt (kullanıyorum) 4.8.2, Visual Studio ile kullanıyorum ve "Contact" adlı bir temel sınıf oluşturdum. Bu sınıfın Qt'ye özel olmasını istemiyorum , bu yüzden niyetim "İrtibat" ve QObject'i devralacak başka bir "QContact" sınıfı yapmak ve QObject ve Q_OBJECT makrosu vb. Gibi tüm Qt ile ilgili işle...