OOP uzmanları için soru. - sayfa 18

 

Sanal işlevler , temel sınıfta yazılmış bir tür işlev şablonudur. Sadece mirasçıların sınıflarında belirli bir uygulama kazanır. Sınıflar sanal da olabilir. Sanal işlevler içeren sanal sınıflara "arayüzler" denir. Birlikte, ana OOP mekanizmalarından birini - polimorfizm - uygularlar.

Pratikte, nereye koyacağımı bilmiyorum...

 
Georgiy Merts :

Nedenmiş ?

Küresel çekirdek ve OOP hiç de birbirini dışlamaz.

Yalnızca pencerelerdeki öğeler, "Genel teşhirde yalan" değil, pencere sınıfları içinde kapsüllenmelidir. Sırf kimse yanlışlıkla "yanlış yere girmesin" diye. Bir değişkeni değiştirmek ve onu dev bir global dizi içinde yanlış yerleştirmek kolaydır. İstenen arabirimi talep etmek ve daha sonra ihtiyaç duyulan nesnede aynı değişkeni değiştirmek ve aynı zamanda hata yapmak çok daha zordur.

Ne yazık ki, istisnalar. Küresel çekirdek, küresel görünürlüğü üstlenir ve bu da ihtiyacı ortadan kaldırır.

(1) Kod kapsüllemesinde. Neden, her şey her yerden mevcutsa?

(2) İşlev aşırı yüklemesi . Neden, işi bir arada yapmak daha kolaysa, sonuçları her yerde görünür ve erişilebilir kılmak?

(3) Polimorfizm. Bir blok bu şablon varyantlarının işini yapabiliyorsa, neden farklı uygulamaları tek bir şablon altında gizleyesiniz? Kod miktarı daha az olacak ve sözdizimi çok daha basit olacaktır.

OOP'nin tüm amacı aşağıdakilere dayanmaktadır:

1. İnsan hafızasını boşaltmak. (Kötü boşaltma. Çok fazla sözdizimi.)

2. Ekip içinde ortak iş dağılımı (herkes bir parça kod bilir, bu nedenle montaj ve hata ayıklama sorunları olacaktır).

3. Kod taşınabilirliği. (Bu gerçekten bir artı).

4. Pazarlama. Çeşitli losyonların reklamı yoluyla geliştirme ortamlarının, kütüphanelerin dağıtımı ve satışı.

 
Реter Konow :

Ne yazık ki, istisnalar. Küresel çekirdek, küresel görünürlüğü üstlenir ve bu da ihtiyacı ortadan kaldırır.

(1) Kod kapsüllemesinde. Neden, her şey her yerden mevcutsa?

(2) İşlev aşırı yüklemesi . Neden, işi bir arada yapmak daha kolaysa, sonuçları her yerde görünür ve erişilebilir kılmak?

(3) Polimorfizm. Bir blok bu şablon varyantlarının işini yapabiliyorsa, neden farklı uygulamaları tek bir şablon altında gizleyesiniz? Kod miktarı daha az olacak ve sözdizimi çok daha basit olacaktır.

OOP'nin tüm amacı aşağıdakilere dayanmaktadır:

1. İnsan hafızasını boşaltmak. (Kötü boşaltma. Çok fazla sözdizimi.)

2. Ekip içinde ortak iş dağılımı (herkes bir parça kod bilir, bu nedenle montaj ve hata ayıklama sorunları olacaktır).

3. Kod taşınabilirliği. (Bu gerçekten bir artı).

4. Pazarlama. Çeşitli losyonların reklamı yoluyla geliştirme ortamlarının, kütüphanelerin dağıtımı ve satışı.

Sen kimsin ve neyi kanıtlamak istiyorsun? Bu OOP kötü, ama bir yerde her şeyin bir demeti iyi mi? Bu başlığı bunun için mi yarattın? Yoksa yine süper hafızanla ilgili övgülerle egonu eğlendirmek mi istiyorsun? Bana senin alter egon gibi geldi. Ve daha fazla yok.
Ayrıca, dal pratik anlamını kaybeder - odak noktası "Bak ben neyim" olarak adlandırılabilir. Avantajlar sıfır.

Size cevapladıkları her şeyi, hemen sorgularsınız, kim olduğunuzu ve her şeyin sizinle nasıl olduğunu ve her şeyin ne kadar iyi ve daha iyi olduğunu ve tüm dünyanın aptal olduğunu ve öğretilemez bir doğasında var olan diğer şeyleri eklemeyi unutmazsınız. nihilizm insana en güzel tezahürüdür.

 
Artyom Trishkin :

Sen kimsin ve neyi kanıtlamak istiyorsun? Bu OOP kötü, ama bir yerde her şeyin bir demeti iyi mi? Bu başlığı bunun için mi yarattın? Yoksa yine süper hafızanla ilgili övgülerle egonu eğlendirmek mi istiyorsun? Bence bu senin alter egon. Ve daha fazla yok.
Ayrıca, dal pratik anlamını kaybeder - odak noktası "Bak ben neyim" olarak adlandırılabilir. Avantajlar sıfır.

Size cevap verdikleri her şeyi, hemen sorgularsınız, kim olduğunuzu ve her şeyin sizinle nasıl olduğunu ve her şeyin ne kadar iyi ve daha iyi olduğunu ve tüm dünyanın aptal olduğunu ve öğretilemez doğasında bulunan diğer şeyleri eklemeyi unutmazsınız. nihilizm insana en güzel tezahürüdür.

Yine eskiye döndün mü?)) Şubelerimde trollemeyi bıraktığını sanıyordum. Yardım edemezsin ama kişiselleşebilirsin. Eh, hiçbir şekilde ...))

Bir kişi kişiselleştiğinde, olay hakkında söyleyecek bir şeyi olmadığı anlamına gelir. Görünüşe göre, argümanlar betonarme.
 

OOP için argüman basit: İnsanların buna ihtiyacı var.

Bunun üzerine konuyu sonlandırabilirsiniz.

 
Реter Konow :

Ne yazık ki, istisnalar. Küresel çekirdek, küresel görünürlüğü üstlenir ve bu da ihtiyacı ortadan kaldırır.

(1) Kod kapsüllemesinde. Neden, her şey her yerden mevcutsa?

(2) İşlev aşırı yüklemesi . Neden, işi bir arada yapmak daha kolaysa, sonuçları her yerde görünür ve erişilebilir kılmak?

(3) Polimorfizm. Bir blok bu şablon varyantlarının işini yapabiliyorsa, neden farklı uygulamaları tek bir şablon altında gizleyesiniz? Kod miktarı daha az olacak ve sözdizimi çok daha basit olacaktır.

OOP'nin tüm amacı aşağıdakilere dayanmaktadır:

1. İnsan hafızasını boşaltmak. (Kötü boşaltma. Çok fazla sözdizimi.)

2. Ekip içinde ortak iş dağılımı (herkes bir parça kod bilir, bu nedenle montaj ve hata ayıklama sorunları olacaktır).

3. Kod taşınabilirliği. (Bu gerçekten bir artı).

4. Pazarlama. Çeşitli losyonların reklamı yoluyla geliştirme ortamlarının, kütüphanelerin dağıtımı ve satışı.

Yani bunlar farklı şeyler.

Herhangi bir Uzman Danışmanda (aynı Ligde) küresel kapsamlı nesnelerim var.

Çekirdeğiniz, bir dizi işlevle donatılmış bir sınıf olarak temsil edilebilir - sonuç olarak alıcılar-ayarlayıcılar - oldukça "OOP" olacak, ancak küresel erişime sahip olacak. Tabii ki, OOP'nin ana avantajları olmasa da - kapsülleme, kalıtım ve polimorfizm.

OOP'nin dayandığı şeye gelince - ilki, yalnızca belleği boşaltarak (ve çok iyi boşaltarak) değil, aynı zamanda kod desteğini ve modifikasyonunu kaldırarak da desteklenmelidir. Ayrıca, OOP tasarımında kullanımı onsuzdan çok daha kolay olan gelişmelerin yeniden kullanılması nedeniyle. Bu arada, "4 - pazarlama" sadece bu çok daha kolay kullanımın bir sonucudur.

 
Artyom Trishkin :

Size cevapladıkları her şeyi, hemen sorgularsınız, kim olduğunuzu ve her şeyin sizinle nasıl olduğunu ve her şeyin ne kadar iyi ve daha iyi olduğunu ve tüm dünyanın aptal olduğunu ve öğretilemez bir doğasında var olan diğer şeyleri eklemeyi unutmazsınız. nihilizm insana en güzel tezahürüdür.

Artem, Peter'ın anısını kıskanıyorum...

Ne de olsa Peter'ın bazı gerçek gelişmeler sunmaya çalıştığı gerçeğinden bahsetmiyorum bile.

 

bilgilendirici, ancak metaforlarda konu başlatıcı OOP kalıpları tarafından okumak için değil

Tamamen konuyla ilgili konu içeriği: Anti-kalıplar nelerdir?

 
Igor Makanu :

bilgilendirici, ancak metaforlarda konu başlatıcı OOP kalıpları tarafından okumak için değil

Tamamen konuyla ilgili konu içeriği: Anti-kalıplar nelerdir?

İkinci makale daha kullanışlı ve bence hangi programlama stiline sahip olduklarına bakılmaksızın herkes için okunması gereken bir makale.
 
Реter Konow :

Sanal işlevler , temel sınıfta yazılmış bir tür işlev şablonudur. Sadece mirasçıların sınıflarında belirli bir uygulama kazanır. Sınıflar sanal da olabilir. Sanal işlevler içeren sanal sınıflara "arayüzler" denir. Birlikte, ana OOP mekanizmalarından birini - polimorfizm - uygularlar.

Pratikte, nereye koyacağımı bilmiyorum...

sanal işlevler, türetilmiş bir sınıfta geçersiz kılınabilen işlevlerdir. desen, herhangi bir bağlamda farklıdır.

somut uygulama temel sınıfta olabilir. veya olmasın (işlev tamamen sanal ise)

Sınıflar sanal olamaz, soyut olabilir. sanal bir miras var, ancak bununla hiç kafanızı kırmanıza gerek yok.

interface (arayüz) kabaca tamamen sanal işlevlerden başka hiçbir şeye sahip olmayan soyut bir sınıftan bahsediyor.

sanal işlevler, polimorfizmin yalnızca bir parçasıdır - dinamik polimorfizm. aşırı yükleme ve şablonlar statiktir.

her yere koyabilirsiniz, hepsini düz tablo düşüncenizden geçirin