Tekrar hoş geldiniz.
Sınıf için gerçek bir nitelik oluşturabildiğimizi öğrendik.
Peki ya bir yöntem?
Burada olduğu gibi bir şey yapmanın bir yolu var mı?
Niteliklerle ne yapıyoruz ama yöntemler için?
Evet, var.
Ve daha sonra ele alacağımız bir konu olan bir dekoratör kullanıyoruz ve bunların kaputun altında nasıl çalıştığını
birazdan anlayacaksınız.
Ancak şimdilik, kullanacağımız sözdizimi ekleme tarafıdır.
Ve sonra bunun gibi bir sınıf yöntemi çağırırız.
Ve şimdi bu dekoratör ile artık bir fonksiyon yazabiliriz.
Örneğin, bir fonksiyon oluşturalım ve onu çağıralım.
Bir ve iki numarayı alacak şeyler eklemek.
Ve burada.
Oh, fonksiyon için tanımlama yaptığımızdan emin olun ve burada sadece num one'ı döndüreceğiz.
Artı uyuşmuş.
Tamam.
Peki bu sınıf yöntemi ne işe yarar?
Biraz daha iyi görebilmemiz için bunu küçültmeme izin verin.
Şimdi burada.
Bakalım birinci oyuncunun bir şeyler eklemeye erişimi var mı?
Diyelim ki çalıştır'a tıkladığımda bir şeyler ekliyorum ve üç.
İki pozisyon argümanı alır, ancak üç tane verilmiştir.
Hmm.
Bu 17. satırda.
Bunu çağırdığımızda iki parametre verdik.
Ancak daha sonra aslında üç tane aldığımızı ve bunun da bir şeyler eklemekten kaynaklandığını söylüyordu.
İlk parametre, tıpkı burada olduğu gibi.
SEALs ve SEALs sınıf anlamına gelir.
Yani bu oyuncu karakteri, bahsettiğimiz sınıf, daha önce gördüklerimize çok benziyor.
Ancak standart, mühür kullanmaktır.
Şimdi, eğer bunu çalıştırırsam.
Beş tane aldığımızı göreceksiniz.
Och.
Ancak buna bakınca, yukarıdakiyle hemen hemen aynı gibi görünüyor.
Self yerine CLS kullanmamız dışında.
Ama bu nasıl bir sınıf yöntemi oluyor?
Çünkü aslında bunu bir sınıfı örneklemeden de kullanabiliriz.
Sana göstereyim.
Diyelim ki birinci oyuncuyu örneklemedik ve şimdi sadece buraya çağırıyorum.
Oyuncu, karakter, nokta ekleme şeyleri.
Çalıştır'a tıklarsam.
Şuna bir bak.
Ben beş alıyorum.
Bu, gerçek sınıftaki bir yöntemdir.
Bu bir sınıf yöntemi.
Böylece bazı ilginç şeyler yapabilirsiniz.
Ve bu arada, sınıf yöntemleri çok sık kullanılmaz.
Peki buna neden ihtiyacımız var diye düşünüyorsanız?
Sınıflarınızın %95'inin sınıf yöntemi gibi bir şey kullanmayacağını söyleyebilirim, ancak bunun
yararlı olabileceği durumlar vardır.
Örneğin, burada bir nesneyi gerçekten örneklemek için CLS'yi kullanabiliriz.
Yani, örneğin, CLS diyebilirim.
Bu, oyuncu karakteri olan sınıftır ve onu örnekleyeceğim, hatırlayın, tıpkı burada
parantezlerle yaptığımız gibi, ikinci parametre olarak num bir artı num iki ile ve ona Teddy
adını vereceğiz.
Eğer burada koşarsam.
Şuna bir bak.
Beş yaşında olması gereken Teddy adında bir nesne oluşturdum.
Haydi o zaman.
Şunu al.
Bunu üçüncü oyuncuya eşitleyin.
Ve burada üçüncü oyuncuyu yaparsam, nokta H ve Çalıştır'a tıklarım.
Ben beş alıyorum.
Yani burada bu sınıf yöntemi kullanılarak oluşturulmuş yepyeni bir oyuncum var.
Böylece, tıpkı bir sınıf nesnesi niteliği oluşturduğum gibi, bu işareti kullanarak bir sınıf yöntemi oluşturabildim.
Bunun gibi bir şey yapmanın bir başka yolu daha vardır, o da statik yöntemdir.
Statik yöntem de buradakiyle aynı şekilde çalışır.
Onun dışında.
Bu sınıfa veya sınıfa erişiminiz yoktur, bu nedenle yukarıda yaptığımız gibi bir şey yapamazsınız.
Bunun yerine, sadece bir tür yöntem uyguluyoruz.
Böyle şeyler eklemek gibi.
Yani ikisi arasındaki tek fark, parametrelerimizde bu CLS'ye erişimimiz olmadığı
fikridir.
Bu nedenle, sınıf durumu hakkında hiçbir şey umursamadığımız statik yöntem gibi bir şey kullanırız.
Bir sınıf durumu buna benzer bir şeydir.
Nitelikler gerçekten umurumuzda değil.
Bu nitelikleri önemsediğimizde ve belki de onları değiştirmek istediğimizde sınıf yöntemi gibi bir
şey kullanırız.
Şimdi bu sınıf yöntemi ve statik yöntem çok sık göremeyeceğiniz bir şeydir.
Ancak Python kariyeriniz boyunca karşılaşabileceğiniz için size göstermek istedim.
Umarım çok kafa karıştırıcı olmamıştır.
Bir sonraki videoda, şu ana kadar öğrendiklerimizi gözden geçirmek istiyorum.