1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#encoding:UTF-8 #inheritance yani kalıtım biribirine veri aktarması gereken sınıflar arasında kullanılan bir kavramdır. #Departman ve Departman'ı miras alan bir personel sınıfımız bulunmaktadır. #Personel sınıfımız yapıcı metotu(initialize) il aldığı parametreleri EkranaYaz metotu ile ekrana yazdırıyoruz. #super kelimesi belirttiğimiz parametrelerin ana sınıfın yapıcı metotuna parametre göndermesini sağlayan metottur. #departman parametresi, Departman sınıfının yapıcı metotunda bulunan departmanAdi parametresine gönderimektedir. class Departman#Departman sınıfımızı oluşturduk def initialize(departmanAdi) #yapıcı metotuna parametre aldık @departmanAdi=departmanAdi #gelen parametreyi örnek değişkeni olarak kullandık end def DepartmanPersonelSayisi(sayi) #departmanda çalışan kişi sayısını gösteren metotu yazdık puts "#{@departmanAdi} departmanında #{sayi} kişi çalışmaktadır." end end class Personel<Departman #Departman sınıfını <(küçüktür) simgesi ile Personel sınıfına miras olarak verdik. def initialize(ad,soyad,departman)#yapıcı metotumuz 3 adet parametre aldı super(departman)#departman parametresinni super metot yardımı ile Departman sınıfının yapıcı metotuna gönderidk @ad,@soyad,@departman=ad,soyad,departman#parametreleri örnek değişkenlerine atadık end def EkranaYaz#ekrana yazdırma işlemi y paan kmetotu yazdık puts "Merhaba #{@ad.capitalize} #{@soyad.upcase} Deparmtanınız #{@departmanAdi}" #capitalize ilk harfin büyük, upcase tüm harflerin büyük olmasını sağlayan metottur end end personel=Personel.new("Onur","ARSLAN","IT") personel.EkranaYaz personel.DepartmanPersonelSayisi(6) #Kalıtım yaptığımız için Departman sınıfnın DepartmanPersonelSayisi metotuna da ulaşabildik. |