OOP uzmanları için soru. - sayfa 42

 
Artyom Trishkin :
net sınıflandırma Birçok nesnenin aynı özelliklere sahip olduğunu görürsek, bu özellikleri bir ana nesnede tanımlamak mantıklıdır.
Bir alt nesne, aynı ada sahip bir üst özelliği geçersiz kılarsa, bu özellik sanal olmalıdır.

Nesne farklı sınıfların özelliklerini ve yöntemlerini miras alırsa ne olur?

Büyüyen ve dinamik olarak yeniden inşa edilen bir veri yapısıyla (Bilgi Tabanı) uğraşıyorsak, yenilerini oluşturmak için hazır nesnelerin "kalıtsal materyalini" kullanmamız gerekir. Bu durumda, nesneler fazladan kalıtsal materyal alarak çoklu kalıtımla sentezlenecektir. Ve bu nedenle, normal şekilde çalışmayacaklar. Yani çoklu kalıtım başlar başlamaz nesnelerin dejenerasyonuna geleceğiz. Bu sorun...

 
Реter Konow :

Nesne farklı sınıfların özelliklerini ve yöntemlerini miras alırsa ne olur?

Büyüyen ve dinamik olarak yeniden inşa edilen bir veri yapısıyla (Bilgi Tabanı) uğraşıyorsak, yenilerini oluşturmak için hazır nesnelerin "kalıtsal materyalini" kullanmamız gerekir. Bu durumda, nesneler fazladan kalıtsal materyal alarak çoklu kalıtımla sentezlenecektir. Ve bu nedenle, normal şekilde çalışmayacaklar. Yani çoklu kalıtım başlar başlamaz nesnelerin dejenerasyonuna geleceğiz. Bu sorun...

Yeni nesnede "sol" ebeveynlerin özelliklerini kullanmayın. Her ne kadar sende bir yanlış anlama görsem de. Özelliklerine ihtiyaç duyulmayan bir nesneyi neden "yumurtlayasınız"?
 
fxsaber :

İlgili araç takımı gönderilir. Yazar dışında kimsenin ihtiyacı yoktur.

Ve buna hala ihtiyaç var . Ama onun da kimseye ihtiyacı olmayacak.

Aynı durum KB, makaleler vb.


Geliştiriciler özel semboller, hizmetler, işaretler, önbellekler, pipler,... Bunu yapmış olmaları şaşırtıcı çünkü. Gerekirse, birimler.

Test cihazının yeni bir pip modunu ele alalım. Kimin ihtiyacı var? -Aslında kimse! Mod, geliştiriciler tarafından Tester'ın önemli algoritmik optimizasyonunun bir vizyonu olarak doğdu. Faydasını kim anladı? -Hiçbiri! Ve böylece her şeyde.

Şimdi Test Cihazı önemli ölçüde değiştirildi. Yani nafig bu değişikliklerden kimseye taviz vermedi. Bunu takdir edecek inekler var. Mevcut haliyle MT5-Tester tüm rakiplerinden daha iyidir. Ama nedense daha da havalı yapmak istiyorlar. Aynı zamanda, bırakın gelecekteki özelliklerini de, mevcut özelliklerini de kimse değerlendiremiyor. Geliştiriciler, kullanıcılarından birkaç kafa uzundur. Ve açıkçası, Test Cihazındaki değişikliklerin motivasyonu para kazanma değil (kimse anlamadıysa olamaz), ancak benzeri görülmemiş bir şey yapmak için içsel bir arzudur.

+
 
Artyom Trishkin :
Yeni nesnede "sol" ebeveynlerin özelliklerini kullanmayın. Her ne kadar sende bir yanlış anlama görsem de. Özelliklerine ihtiyaç duyulmayan bir nesneyi neden "yumurtlayasınız"?

Gerekli, ancak tamamen değil. Yeni nesne, 3 A sınıfı özelliği, 5 B sınıfı özelliği ve üç sınıftan daha 3 yöntemi kullanır.

Bu sınıflardan kalan mülklerle nasıl başa çıkmalıdır? Onlardan nasıl kısıtlanır?

 
Реter Konow :

Gerekli, ancak tamamen değil. Yeni nesne, 3 A sınıfı özelliği, 5 B sınıfı özelliği ve üç sınıftan daha 3 yöntemi kullanır.

Bu sınıflardan kalan mülklerle nasıl başa çıkmalıdır? Onlardan nasıl kısıtlanır?

Bir nesneye paketlenecek A sınıfının 3 özelliği. ondan miras. Veya miras alamazsınız, ancak üç özelliği olan bir nesneyi gerekli nesnenin bir özelliği yapabilirsiniz.
Bir dolaşım sistemi var - birçok nesneye sahip bir nesne. Dolaşım sisteminin bir parçası olarak bir nesne-kalp vardır.
Yeni bir nesne için, yeni bir nesnede bir kalbe ihtiyaç duyulursa, dolaşım sisteminden değil, kalp nesnesinden miras alınır.
 
Artyom Trishkin :
Bir dolaşım sistemi var - birçok nesneye sahip bir nesne. Dolaşım sisteminin bir parçası olarak bir nesne-kalp vardır.
Yeni bir nesne için, yeni bir nesnede bir kalbe ihtiyaç duyulursa, dolaşım sisteminden değil, kalp nesnesinden miras alınır.

Yeni bir eşyada kalbe ihtiyaç varsa, kalpten miras alınması gerekmez. Kalp, bir üye gibi yeni nesnenin bir parçası haline getirilmelidir.

Yeni nesne, nesnenin atasıysa, miras alınmalıdır. Ve yeni nesne başka bir nesneyi İÇERİYORSA include kullanın.

 
Artyom Trishkin :
Bir nesneye paketlenecek A sınıfının 3 özelliği. ondan miras. Veya miras alamazsınız, ancak üç özelliği olan bir nesneyi gerekli nesnenin bir özelliği yapabilirsiniz.

Üç özelliği bir nesnede birleştirin ve onu yeni bir nesnenin özelliği yapın? Düşünmeliyim...

Ancak birçok uzun zincir yoluyla kalıtım, her adımda benzer sorunlar yaratır. Kalıtım zincirleri ne kadar uzun ve çeşitli olursa, son nesil nesnelerin elde edeceği özelliklerin ve yöntemlerin "karışımı" o kadar fazla olur ve kendi zincirlerini temel nesneye izole etmek o kadar zor olur.

Miras almazsanız, temel nesneye erişim olmayacaktır. Miras alırsanız - nesnelerin birden fazla "ebeveynliği", temel nesneye olan doğrudan zincirlerini izlemenizi engeller.

Kendi özelliklerini ve yöntemlerini diğer sınıflardan izole etmek giderek zorlaşıyor.

 
Реter Konow :

Üç özelliği bir nesnede birleştirin ve onu yeni bir nesnenin özelliği yapın? Düşünmeliyim...

Ancak birçok uzun zincir yoluyla kalıtım, her adımda benzer sorunlar yaratır. Kalıtım zincirleri ne kadar uzun ve çeşitli olursa, son nesil nesnelerin elde edeceği özelliklerin ve yöntemlerin "karışımı" o kadar fazla olur ve kendi zincirlerini temel nesneye izole etmek o kadar zor olur.

Miras almazsanız, temel nesneye erişim olmayacaktır. Miras alırsanız - nesnelerin birden fazla "ebeveynliği", temel nesneye olan doğrudan zincirlerini izlemenizi engeller.

Kendi özelliklerini ve yöntemlerini diğer sınıflardan izole etmek giderek zorlaşıyor.

Peter, şiddetle tavsiye ederim

https://en.wikipedia.org/wiki/Code_Complete

Code Complete - Wikipedia
Code Complete - Wikipedia
  • en.wikipedia.org
Code Complete
 
Andrey Barinov :

Yeni bir eşyada kalbe ihtiyaç varsa, kalpten miras alınması gerekmez. Kalp, bir üye gibi yeni nesnenin bir parçası haline getirilmelidir.

Yeni nesne, nesnenin atasıysa, miras alınmalıdır. Ve yeni nesne başka bir nesneyi İÇERİYORSA include kullanın.

Pekala, öyle söylemedi. Aptal ne demek istediğimi anlıyor. Ebeveynin özelliklerine sahip değiştirilmiş bir kalbe ihtiyacınız varsa.
 
Реter Konow :

Üç özelliği bir nesnede birleştirin ve onu yeni bir nesnenin özelliği yapın? Düşünmeliyim...

Ancak birçok uzun zincir yoluyla kalıtım, her adımda benzer sorunlar yaratır. Kalıtım zincirleri ne kadar uzun ve çeşitli olursa, son nesil nesnelerin elde edeceği özelliklerin ve yöntemlerin "karışımı" o kadar fazla olur ve kendi zincirlerini temel nesneye izole etmek o kadar zor olur.

Miras almazsanız, temel nesneye erişim olmayacaktır. Miras alırsanız - nesnelerin birden fazla "ebeveynliği", temel nesneye olan doğrudan zincirlerini izlemenizi engeller.

Kendi özelliklerini ve yöntemlerini diğer sınıflardan izole etmek giderek zorlaşıyor.

Peter. Bu nedenle ben de konuşuyorum - düşüncesiz miras gerekli değil. Açık bölme ve sınıflandırma.