Skip to content

Instantly share code, notes, and snippets.

@muhomerdogu
Created May 26, 2021 13:48
Show Gist options
  • Save muhomerdogu/52fb306892c9fe71b2e8bbf1a68f3c7e to your computer and use it in GitHub Desktop.
Save muhomerdogu/52fb306892c9fe71b2e8bbf1a68f3c7e to your computer and use it in GitHub Desktop.
package abstractClass;
public class Test_1 {
//abstract classlar yapı farkı yoktur. kullanım farkı vardır.
/*
yapısal anlamda aynıdır sınıflarla. Sadece kulanım farkı vardır.
abstract klasları belirli kurallardan geçirerek kullanırız.
bir class bir sınıfı inherit edebilri miras alabilir.
abstract sınıflar sadece başka bir sınıfı inherit edebilir, veya bir sınıf bir abs. sınıf inherit edebilir.
//syntax anlamında kullanım farkı vardır. çok güzel kullanır ve öğrenirler ve gerçek hayatta kullanırken sıkıntılar çıkar.
projlerinde kullanamazlar çünkü projelerini özümsememiştir.
biz burada gerçek hayatta uygulayan birisi olacğıaz.
bir oyun yazalım ve bir puanlama sistemi var. ve 3 kullanıcı türü var. kadın erkek ve bebek kullanıcı şekilinde demogğrafi yapı yapalım.
bir puanlama sistemi getirelim
erkek ve kadın kullanıcıda fark yoktur. yetişkinlerde bir durum yoktur. aynı hesaplamadan geçerek puan alaaklar
*/
public static void main(String[] args) {
WomanGameCalculator womanGameCalculator=new WomanGameCalculator();
womanGameCalculator.gameOver();
womanGameCalculator.hesapla(); //oyununuz bitirebiliiriz.
//oyun bitirme ekranı aynı olsun.
//burada hespalamayı override ederiz ve birnci yol bu olur.
//yani ezebiliriz, mesela default bir hesaplama yapabiliiz.
//çcuk için ezmek istemeyebiliriz.
//biz bunu abstract yparız. default olmasın isteriz.
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment