Python - İleri Seviye Python

Sınıflarda Methotlar

Yayın tarihi :10-Ara-21
Bölüm kodlarını ve/veya veri setlerini indir.

Sınıflar ve nesneler konusunda kısaca methotlara değinilmişti. Şimdi de biraz daha geniş çaplı bir örnek yaprak methotları inceleyelim.

Örnek-1: Sehirler arası sefer düzenleyen otobüs firmalarına ait sefer bilgileri, bilet satış, bilet iptal, yolcu sayısı, otobüs kapasitesi artır özelliklerini taşıyan bir class methotları oluşturalım

class Ulasim():
    
    def __init__(self,firma,kalkis,varis,saat,otobusKapasitesi,yolcuSayisi):
        self.firma=firma
        self.kalkis=kalkis
        self.varis=varis
        self.saat=saat
        self.otobusKapasitesi=otobusKapasitesi
        self.yolcuSayisi=yolcuSayisi
        
    def seferBilgileri(self):
        return "{} firmasına ait {}-{} saat:{} seferi.".format(
        self.firma,
        self.kalkis,
        self.varis,
        self.saat)
    
    def biletAl(self,biletSayisi=1):
        alinabilecekBiletSayisi=self.otobusKapasitesi-self.yolcuSayisi
        if biletSayisi>alinabilecekBiletSayisi:
            print("Otobüste {} kişilik yer bulunmamaktaır. En fazla {} kişilik yer satılabilir".format(
            biletSayisi,
            alinabilecekBiletSayisi
            ))
        elif biletSayisi==alinabilecekBiletSayisi:
            print("Bilet alma işlemi başarılıdır. {} kişilik otobüs tamamen dolmuştur.".format(self.otobusKapasitesi))
            self.yolcuSayisi+=biletSayisi
        else:
            self.yolcuSayisi+=biletSayisi
            print("Bilet alma işlemi başarılı bir şekilde yapılmıştır. Kalan bilet sayısı: {}".format(
            self.otobusKapasitesi-self.yolcuSayisi
            ))
            
    def yolcuSayisiListele(self):
        print("Yolcu sayısı :{}".format(self.yolcuSayisi))
            
    def biletIptal(self,biletSayisi=1):
        if biletSayisi>self.otobusKapasitesi:
            print("Yanlış bir değer girildi, iptal sayısı otobüs kapasitesinden büyük olamaz.")
        else:
            self.yolcuSayisi-=biletSayisi
            print("Yolcu çıkarma işlemi başarılıdır.")
            self.yolcuSayisiListele()
            
    def otobusKapasitesiArtır(self,artımMiktari):
        self.otobusKapasitesi+=artımMiktari
        print("Otobüs'ün yeni kapasitesi:{}'dir.".format(self.otobusKapasitesi))
sefer1=Ulasim("A Ulaşım","Ankara","İstanbul",11.00,50,43)
sefer1.seferBilgileri()

Çıktı:

'A Ulaşım firmasına ait Ankara-İstanbul saat:11.0 seferi.'
sefer1.biletAl(4)

Çıktı:

Bilet alma işlemi başarılı bir şekilde yapılmıştır. Kalan bilet sayısı: 3
sefer1.biletAl(4)

Çıktı:

Otobüste 4 kişilik yer bulunmamaktaır. En fazla 3 kişilik yer satılabilir
sefer1.biletAl(3)

Çıktı:

Bilet alma işlemi başarılıdır. 50 kişilik otobüs tamamen dolmuştur.
sefer1.biletIptal(4)

Çıktı:

Yolcu çıkarma işlemi başarılıdır.
Yolcu sayısı :46
sefer1.otobusKapasitesiArtır(4)

Çıktı:

Otobüs'ün yeni kapasitesi:54'dir.
sefer1.biletAl(11)

Çıktı:

Otobüste 11 kişilik yer bulunmamaktaır. En fazla 8 kişilik yer satılabilir
Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.