[]

Neden abstract class? performans ile mi alakalı?

package com.yigit;

public class Animal {
public void makeNoise() {
System.out.println("Miyavx");
};
}



package com.yigit;

public class Cat extends Animal {

public Cat() {
this.makeNoise();
}
}



neticede, aynı şey? istersem makeNoise() i override ederim?

 
Daha cok C++ dan biliyorum ama Java icin de boyledir herhalde... Abstract classlar sema gibidir implementasyon icermezler. Derive eden sinif bu implementasyonlari saglamakla yukumludur. Class abstract degilse, o metodlari implement etmesen de olur. Bu ayrimi hem programciya hem de compiler'a dokumentasyon olarak sunmak amaciyla olusturulmus bir konsept. Abstract olmazsa mesela base class bos bir fonksiyon icerir, sen onun implementasyonunu derived class icinde saglamayi unutursan compiler seni uyaramaz, onu implement etmek zorunda oldugunu da koda bakip anlaman mumkun olmaz. Abstract class burada niyeti acik acik gosterir.


  • stanley5m  (22.07.18 00:48:35) 
yap ulan demek için yani


  • Yigitabi  (22.07.18 00:50:39) 
oop felsefesi icin bir ekleme de yapayim; interface yetenek bildirir. abstract ise karakteristik bir ozellik.


  • pgup  (22.07.18 10:11:10) 
Object oriented programlamada abstract ne anlama gelir?
Eger bir siniftan bir nesne uretilmesi istenmiyorsa veya gercek hayatta imkansiz ise abstract class dir. Ornegin "Animal" orneginde sadece hayvan olan ama herhangi bir turu olmayan (kedi, kopek, balik) bir sey yoktur dunyada. her hayvanin mutlaka bir cesit turu vardir. yani abstract olarak tasarlanmis bir hayvan sinifindan bir hayvan nesnesi olusturulamaz. bu sinis bir nesne olusturulurken sadece "extend" yapilabilir. eger abstract hayvan sinifindan bir nesne olusturulabilseydi ne oldugu belli olmayan bir hayvan olurdu.

bunun icin bir baska basit ornek var. ornegin sayfa ve kapak diye iki sinifimiz olsun. en az bir sayfa ve kitap bir araya gelirse kitap olur. ama kitap kendisi ozelinde bir nesne degildir, cunku sadece kapak ve sayfanin bir araya gelmesi ile olusan abstract bir nesnedir. sayfasi ve kapagi olmayan sadece kitap diye nesne olamaz ve bundan obje uretilemez. Abstract siniflarin kullanilma amaci yazilim mimarisidir.

Peki niye abstract da interface degil? abstract nesnenin kendisi, ama interface nesnenin ozelligidir. ornegin kitap abstract dir, sayfa standart bir class dir. ama acilabilir olmak sayfanin bir ozelligidir. yani "Acilabilir" bir interface dir.
  • emrahday  (23.07.18 12:20:58) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.