«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
Uygulamada açık-kapalı ilkesine nasıl uyulur
Açık-kapalı prensibinin amacını anlıyorum. Değiştirmeden genişletmeyi denemenizi söyleyerek, değiştirirken zaten çalışan bir şeyi kırma riskini azaltmak içindir. Ancak, bu prensibin uygulamada nasıl uygulandığını anlamakta zorlandım. Anladığım kadarıyla bunu uygulamanın iki yolu var. Olası bir değişiklikten önce ve sonra: Önce: soyutlamalara programlayın ve 'geleceği tahmin edin' olabildiğince. Örneğin , gelecekte sisteme …

2
Optionals ve Nullable type arasındaki fark nedir
Swift var Optionals. C # Nullabletürleri vardır. Her ikisinin de aynı amaca hizmet ettiğini söyleyebildiğim kadarıyla, bir tür değerin yanı sıra, değişkenin değeri olup olmadığını veya tanımlanmamış (başlatılmamış) bilgileri depolarlar. Soru Optionalssadece Nullablefarklı isimlere sahip türler mi yoksa başka kavramsal farklılıklar var mı? Başka bir deyişle, kavramın kendisi hakkında ya …


4
Polimorfizm bağlamında alt tipler için eklenen yöntemler nasıl ele alınır?
Polimorfizm kavramını kullandığınızda bir sınıf hiyerarşisi yaratırsınız ve ebeveyn referansını kullanarak, hangi türün nesneye sahip olduğunu bilmeden arayüz işlevlerini çağırırsınız. Bu harika. Misal: Hayvan koleksiyonunuz var ve tüm hayvan fonksiyonlarını çağırıyorsunuz eatve bir köpek yemi mi yoksa kedi mi olduğunu umursamıyorsunuz. Miras ve sınıftan uygulanan diğerinden daha - Ama aynı …

3
RxJava sınıfı Flowable'ın yasal olarak 460 yöntemi olabilir mi?
Ben sadece RxJava , Java'nın ReactiveX ( Rx ve Reaktif Uzantıları olarak da bilinir) uygulaması ile başlıyorum . Gerçekten bana vurdu o şey kitlesel büyüklüğündeydi RxJava en Akışkan sınıfta : o 460 yöntemleri vardır! Adil olmak: Aşırı yüklenmiş, toplam yöntem sayısını önemli ölçüde çarptıran birçok yöntem vardır. Belki de bu …

7
Basit etki alanı nesnesini temsil etmek için ilkel mi sınıf mı?
Etki alanına özgü bir nesnenin düz bir Dize veya sayıya karşı ne zaman kullanılacağına ilişkin genel kurallar veya genel kurallar nelerdir? Örnekler: Yaş sınıfı vs Tamsayı? FirstName sınıfı vs String? UniqueID ve Dize PhoneNumber sınıfı vs String vs Long? DomainName sınıfı vs String? Bence çoğu OOP uygulayıcısı kesinlikle PhoneNumber ve …

3
Paralel Diziler ne zaman kullanılabilir?
Ben 'Paralel Diziler' veya Listeler dediğim kullanan kod (yeni kod) çalıştırıyorum. Yani ilgili veriler içeren ve dizideki konumlarına (dizinlerine) bağlı 2 dizi vardır. Bunu kafa karıştırıcı ve her türlü hataya eğilimli olarak görüyorum. Normalde önerdiğim çözüm CompanyCompanyId ve CompanyName alanlarıyla adlandırılan bir nesne oluşturmaktır . Çok gerçek bir örnek: List<string> …

5
OOP Kodlama stili: yapıcıdaki her şey başlatılsın mı?
Kendimi hala bir çırak programcısı olarak görüyorum, bu yüzden her zaman tipik programlama için "daha iyi" bir yol öğrenmek istiyorum. Bugün, iş arkadaşım kodlama tarzımın bazı gereksiz çalışmalar yaptığını ve başkalarından fikir duymak istediğini savundu. Tipik olarak, bir sınıfı OOP dilinde (Genellikle C ++ veya Python) tasarladığımda, başlatmayı iki farklı …

4
Tek Sorumluluk modeli sınıflar için ne kadar spesifik olmalıdır?
Örneğin, konsoldan ve konsoldan her türlü giriş / çıkış yöntemine sahip bir konsol oyun programınız olduğunu varsayalım. Tek hepsini tutmak için akıllı olurdu inputOutputsınıf veya gibi daha spesifik sınıflara onları yıkmak startMenuIO, inGameIO, playerIO, gameBoardIO, her sınıf 1-5 yöntemleri hakkında sahip vb öyle ki? Ve aynı notta, onları parçalamak daha …

10
Aynı sınıftan oluşturulan nesnelerin benzersiz yöntem tanımları olabilir mi?
Biliyorum bu garip bir soru gibi görünüyor, çünkü aynı sınıfı paylaşan iki veya daha fazla nesnenin amacı davranışlarının aynı olması, yani yöntemlerinin aynı olması. Ancak, nesnelerin yöntemlerini, alanları için farklı değerler atayabileceğiniz şekilde yeniden tanımlamanıza izin veren herhangi bir OOP dili olup olmadığını merak ediyorum. Sonuç, artık aynı davranışı sergilemeyen …

3
Bir nesne oluşturduğumda, hem örnek alanlarına hem de yöntemlere veya yalnızca örnek alanlarına yeni bir bellek ayrılır
Aşağıdaki dersim var class Student{ int rollNumber; int marks; public void setResult(int rollNumber, int marks){ this.rollNumber=rollNumber; this.marks=marks; } public void displayResult(){ System.out.println("Roll Number= "+this.rollNumber+" Marks= "+this.marks); } } Şimdi Öğrenci türünde iki nesne aşağıdaki gibi oluşturuyorum Student s1=new Student(); Student s2=new Student(); Şimdi, örneğin alanlar için iki farklı bellek kümesi …

2
OOP'nin yazılım karmaşıklığını yönetmedeki etkinliği üzerine çalışmalar var mı? [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu Yazılım Mühendisliği Yığın Değişimi için konuyla ilgili olacak şekilde güncelleyin . 2 yıl önce kapalı . OOP genellikle OOP olmayan prosedürel programlamanın aksine, yazılımdaki karmaşıklığı yönetmede etkili bir strateji olarak kabul edilir. Bu …

4
Bir uygulamayı çerçevesine gevşek bir şekilde bağlamak mümkün müdür?
Diyelim ki bir web uygulaması geliştiriyorum. İlk tercihim PHP'yi Fat-Free Framework (F3) ve MVC deseniyle kullanmak. Gelecek yıl, Zend Framework'e, hatta ASP.NET MVC'ye geçmek istediğime karar verebilirim. Uygulamamı, çerçevesine gevşek bir şekilde bağlanacak şekilde tasarlamaya çalışmak mantıklı mı yoksa çerçeve bunu gerçekçi kılmak için çok ayrılmaz mı? Sormamın tek nedeni, …

3
“Bu web sitesini / uygulamayı nasıl inşa edersiniz” görüşme soruları için genel düşünce süreci [kapalı]
Kapalı . Bu sorunun daha fazla odaklanması gerekiyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Soruyu, yalnızca bu yayını düzenleyerek tek bir soruna odaklanacak şekilde güncelleyin . 4 yıl önce kapalı . "Nasıl bir fotoğraf albümü uygulaması tasarlayacağınızı açıklayın", "Bu web sitesinin bu özel özelliğini nasıl …

7
Her ikisi de olamazsa kodum KURU veya okunabilir olmalı mı?
Basit bir şifreleme egzersizi için Ruby kodu yazıyorum ve bu ikilemde sık sık çalıştım (bilmeniz gerekiyorsa egzersiz bir solitaire şifresidir). Bu, mantığı, tekrarlamayı ortadan kaldıran ve / veya hata fırsatlarını en aza indiren özlü, hatta yoğun ifadeler yerine işlevi okunabilir hale getiren açıklayıcı değişkenler ve tek adımlı ifadelerle doldurup doldurmamam …

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.