Sorun yaşadığınız yeri tam olarak anlayamadım, ben size sadece __init__
'de değiştirmeniz gereken yeri söyledim ama siz melumat
’ı değiştirmişsiniz.
Neye çeviremediniz?
Sorun yaşadığınız yeri tam olarak anlayamadım, ben size sadece __init__
'de değiştirmeniz gereken yeri söyledim ama siz melumat
’ı değiştirmişsiniz.
Neye çeviremediniz?
Bu arada bu guc
niteliğinin de diğer nitelikler gibi __init__
'e parametre olarak verilmesi daha iyi olur. İsterseniz öntanımlı değerini de 0
yapabilirsiniz.
hayir hocam __init__idegistirdim
ornegin:bir listeye
bunu yapdim.ama bu pekte uygun bir yontem degil.
genel bir class olusturdum.daha sonra mudur ve isci classina genel classini miras aldim.ama olmadi:
class genel():
isciler = []
def __init__(self,ad,soyad,maas,status):
self.guc = 0
self.ad = ad
self.soyad = soyad
self.maas = maas
self.status = status
liste = [self.ad,self.soyad,self.maas,self.status,self.guc]
self.isciler.append(liste)
def melumat(self):
# liste = [self.ad,self.soyad,self.maas,self.status,self.guc]
# self.isciler.append(liste)
print(f"adi: {self.ad}\nsoyadi: {self.soyad}\nmaasi: {self.maas}\nstatusu: {self.status}\ngucu: {self.guc}\n")
@classmethod
def personel(cls):
print(cls.isciler)
class isci(genel):
def __init__(self,ad,soyad,maas,status):
super().__init__(ad,soyad,maas,status)
self.guc = 10
# liste = [self.ad,self.soyad,self.maas,self.status,self.guc]
class mudur(genel):
def __init__(self,ad,soyad,maas,status):
super().__init__(ad,soyad,maas,status)
self.guc = 100
# liste = [self.ad,self.soyad,self.maas,self.status,self.guc]
isci1 = isci("vahid","veliyev",700,"isci")
isci1.melumat()
mudur1 = mudur("abdullah","veliyev",1000,"mudur")
mudur1.melumat()
print(mudur1.guc)
genel.personel()
Peki çalışmayan yer neresi?
isci
örneklerini nasıl bir lisyeye çevirmek istiyorsunuz bilmiyorum, niye böyle bir ihtiyacınız var ki zaten?
isci.isciler
listesinin elemanları isci
sınıfının örnekleri, yani isci.isciler[0].ad
gibi bir şey geçerli bir kullanım. Ama metodlar içinde self
’e erişiminiz varken isciler
listesi ile ne işiniz var anlamadım.
Bence guc
niteliğinin isci
sınıfında hardcoded bir değer alması iyi bir tasarım değil, mudur
sınıfında bunu sonradan değiştirmeniz de buna bir işaret.
Ben yukarıdakini değil, bunu yapın demiştim:
Hatta en başta değiştirin dediğim yer buydu…
calisiyor ama,bir liste dondurmesini istiyorum.ama obje donduruyor.
tum alt sinif orneklerini tabam sinifin sinif niteliginde bir listede tutmak istiyorum.
belkide haklisiniz
dedigim gibi calisiyor.ama obje dondutuyor ben liste dondurmesini istiyorum.
Obje döndüren ne? Hangi fonksiyon?
Zaten bütün fonksiyonlar obje döndürmek zorunda. Obje yerine -mesela- “isci örneği” derseniz daha iyi anlarım sizi.