«object-oriented» etiketlenmiş sorular

Bir sistemin modüler bir şekilde kontrol edilip manipüle edilebilen bir dizi nesne olarak modellenmesini sağlayan bir metodoloji

3
Çok sayıda argümana sahip yapıcılardan kaçınma
Bu yüzden farklı sınıflardan nesneler yaratan bir fabrikam var. Olası sınıfların tümü soyut bir atadan türetilir. Fabrikada bir yapılandırma dosyası (JSON sözdizimi) vardır ve kullanıcının yapılandırmasına bağlı olarak hangi sınıfın oluşturulacağına karar verilir. Bunu başarmak için, fabrika JSON ayrıştırma işlemi için boost :: property_tree kullanır. Ptree'de yürür ve hangi somut …

2
Java'da Giriş almak için neden Tarayıcı Sınıfı örneğine ihtiyacımız var?
Java nesne yönelimlidir, ancak neden girdi almak için Tarayıcı Sınıfından bir nesne oluşturmamız gerekir? Could next()yöntemler, örneğin, sadece statik olabilir mi? C sadece kullandığın kadar basit görünüyor scanf(), gets()ya da fgets(). Java geliştiricilerinin Tarayıcı sınıfını oluşturmasının bir nedeni olduğundan eminim, ancak işi yapmak için normal bir işleve sahip olmaktan daha …

3
Kalıtım: Üst sınıftaki kod sanal olarak * alt sınıfa * kopyalanıyor mu veya * alt sınıf * ile mi adlandırılıyor?
Sınıf Sub, sınıfın bir alt sınıfıdır Sup. Bu pratikte ne anlama geliyor? Başka bir deyişle, "kalıtım" ın pratik anlamı nedir? Seçenek 1: Sup'in kodu neredeyse Sub'a kopyalanır . ('kopyala-yapıştır'da olduğu gibi, ancak kopyalanan kod alt sınıfta görsel olarak görülmeden). Örnek: methodA()başlangıçta Sup. Sub, Sup'i genişletir methodA(), (neredeyse) Sub'a kopyalanır. Şimdi …

4
Gevşek bağlı tasarımlar oluşturmak için ne kadar çaba harcamalıyım?
Şu anda tasarım kalıplarını öğreniyorum. Çoğu insanın bu kalıpların harika araçlar olduğu konusunda hemfikir olacağını düşünüyorum, ancak her şeyin cevabı olarak ılımlılıkla kullanılmalı. Bunları çok fazla kullanmak, uygulamayı çok az fayda ile aşırı karmaşık hale getirecektir. Desenler sadece en iyi çözüm olabilecekleri veya iyi bir çözümün oluşturulmasında yardımcı olabilecek yerlerde …

12
“Bir yöntem değişiklik yapılmadan yeniden kullanılırsa, yöntemi bir temel sınıfa koyun, başka bir arabirim oluşturun” iyi bir kural mıdır?
Bir meslektaşım, bir temel sınıf veya bir arayüz oluşturmak arasında seçim yapmak için bir kural belirledi. Diyor: Uygulamak üzere olduğunuz her yeni yöntemi düşünün. Her biri için şunu düşünün: Bu yöntem , herhangi bir değişiklik yapılmaksızın, tam olarak bu formda birden fazla sınıf tarafından uygulanacak mı? Cevap "evet" ise, bir …

3
Ruby ve C ++ 'da OOP terminolojisi
Okulumda bir C ++ dersi alıyorum. Ruby'de programladığımdan beri bazı OOP şeyleri biliyorum. Ancak C ++ 'da üye işlevleri, üye değişkenleri ve statik işlevler vardır. Ruby'de örnek yöntemlerimiz, örnek değişkenlerimiz ve sınıf değişkenlerimiz var. Ve daha fazlası var ... Farklı olmalarının bir nedeni var mı? OOP seviyeleri oldukça farklı mı? …


4
Soyut sınıflar için genel isimler nasıl önlenir?
Genel olarak (örn.) Dosya tanıtıcıları veya (örneğin) unix işlemleriyle uğraşmadıkça, rutin adların ve sınıf adlarının bir parçası olarak "tanıtıcı" veya "işlem" gibi sözcüklerden kaçınmak iyidir. Bununla birlikte, soyut sınıflar çoğu zaman, bir şeyle ne yapacaklarını gerçekten bilmezler. Şu anki durumumda bir kullanıcının gelen kutusuna giriş yapan ve ondan gelen mesajları …

9
Ya küreseller mantıklıysa?
Birçok nesnenin ihtiyacı olan bir değere sahibim. Örneğin, nesne olarak farklı yatırımlara sahip bir finansal uygulama ve bunların çoğu cari faiz oranına ihtiyaç duymaktadır. "Finansal ortamımı" bir nesne olarak, faiz oranı bir mülk olarak kapsama almayı umuyordum. Ancak, bu değere ihtiyaç duyan kardeş nesneler buna ulaşamaz. Öyleyse tasarımımı fazla birleştirmeden …

2
php sınıf üyeleri başlatmak için en iyi uygulama
Benim yapıcılar böyle kod çok var: - function __construct($params) { $this->property = isset($params['property']) ? $params['property'] : default_val; } Özellik tanımında varsayılan değeri belirtmek yerine bunu yapmak daha mı iyi? yani public $property = default_val? Bazen varsayılan değer için mantık vardır ve bazı varsayılan değerler diğer özelliklerden alınır, bu yüzden yapıcıda …

4
Yanıt işlemek için tasarım deseni
Çoğu zaman belirli bir işlev çağrısı için yanıt işleme bazı kod yazarken aşağıdaki kod yapısı olsun: örnek: Bu, bir giriş sistemi için kimlik doğrulamasını yapacak bir işlevdir class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send mail to admin …

3
Yöntem aşırı yüklemesi ne zaman uygundur?
Mevcut, oldukça büyük bir sistem üzerinde çalıştığımı varsayalım. myObjectSınıfın bir nesnesi var MyClass(örneğin uğruna, Java'da çalıştığımı varsayalım). myObjecta Collection, mesela a Listve diğer (önemsiz) objeleri içeren bir bileşimdir . Bu, maruz kalmamasını Listsağlamak için sadece oluştuğu yöntemleri çağırmaya hizmet eden temsilci yöntemleri içerir List(terminolojimi yanlış anladığım için üzgünüm). Bunun Listbir …


2
bir sınıfı sadece tek bir işlevi yeniden kullanmak üzere genişletmek makul bir uygulama mıdır?
Bir wordpress sitesi için bir dizi posta filtresi geliştiriyorum ve ilk 4'ü tek bir sınıfla oluşturdum. Son ikisi, sınıflarında yalnızca tek bir işlevi (son bağlantıları üretme işlevi) paylaşacak kadar farklıdır. Bu durumda veya herhangi bir sayıdaki benzer varsayımsal örnekte, bu işlevselliğe sahip olmak için orijinal sınıfı genişletmek makul mü yoksa …

3
Yinelenen kod nasıl kaldırılır (genel olarak)?
Bir OO dilinde (örneğin, Java ile sınırlı olmamakla birlikte), yinelenen kodu, oluşumunun kapsamına bağlı olarak nasıl düzeltirsiniz? İle başlayacağım (örneğin) aynı sınıfta (kapsam) ayıklama yöntemi yeniden düzenleme (düzeltme) gerçekleştirmek aynı hiyerarşinin (kapsam) sınıflarında Ayıklama Yöntemi ve Yukarı Çekme (düzeltme) ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.