CoffeeScript'te sınıfları kullanma

İçindekiler
Uygulamamızı tanımlamamıza yardımcı olan en önemli şeylerden biri sınıfların kullanımıdır, çünkü onlarla gerçek hayattan modellenen nesneleri tanımlayabiliriz ve dijital dünyaya geçişleri çok daha kolay hale gelir.
İçinde Kahve Komut Dosyası bir sınıf oluşturmak ve onu somutlaştırmak çok basittir, aslında sözdizimi o kadar minimalisttir ki onu hatırlamamız çok kolaydır, bunun yerine sınıfların tanımını doğrudan JavaScript Biraz daha hantal bir şey ve bu bizi beklediğimizden daha uzun sürebilir.
GereksinimlerBu öğreticiyi tamamlamak için işlevsel bir kuruluma sahip olmalıyız. Kahve Komut Dosyası, ayrıca dosya yazmak ve yürütmek için izinlere ihtiyacımız var Kahve Komut Dosyası öğreticiyi yaptığımız bilgisayarda. Konsolda her şeyi değil, kalıcı bir şeye sahip olmamız için gerçekleştireceğimiz kodu yazabilmek için bir metin düzenleyiciye ihtiyacımız var.
Bir sınıf, bir addan ve davranışını tanımlayan bazı özelliklerden başka bir şey değildir, bu konsepte dayanarak bir sınıfı tanımlayabiliriz. Kahve Komut Dosyası aşağıdaki gibi:
 sınıf Öğrenci
Tek yapmamız gereken bu, basit bir şekilde birinci sınıfımızı zaten oluşturduk. Kahve Komut DosyasıŞimdi, onu kullanabilmek için bir özellik eklemek istersek ne olur, çünkü sadece bir örnek oluşturup o özelliği ekliyoruz, görelim:
 öğrenci = yeni Öğrenci () öğrenci.name = "Carolina"
Şimdi aşağıdaki resimde nasıl olduğunu görelim Kahve Komut Dosyası tüm kodumuzu dönüştürün JavaScript saf derlerken, bunun için olan komutu hatırlayalım kahve -c dosyaadi.kahve:

Daha sonra sözdiziminin nasıl olduğunu fark ederiz. JavaScript saf, yaptığımız üç kod satırından çok daha kapsamlı ve karmaşıktır. Kahve Komut Dosyası, kendimizi gerçekten uygulamamıza adamamızı sağlayan bu dilin gücüdür.
En çok kullanılan şeylerden biri Nesne yönelimli programlama sınıflara yöntemler eklemektir, çünkü bunlar, özelliklere ek olarak bize nesnemizin neler yapabileceği veya yapamayacağı hakkında bir fikir verecektir, örneğin öğrenci sınıfı Bunun için nesnesinin bir mesajı ifade ettiği bir yöntem oluşturabiliriz, bunu nasıl başaracağımıza bakalım:
 sınıf Öğrenci konuşması: -> console.log "Merhaba Dünya!"
Daha sonra aynı sınıftan bir nesne yaratırsak, aynı yöntemi zaten kullanabiliriz. Örneğin:
 öğrenci = yeni Studenttudent.talk ()
Bununla, kodumuza nesne yöneliminin özelliklerinden birini veren, birkaç örnek yaptığımız sürece yöntemimizin birçok kez kullanılabilmesini sağlıyoruz. yeniden kullanmak. Şimdi kodumuzu argümanları kabul edecek şekilde yeniden tanımlayacağız, bununla basit bir konsoldan yazdırmadan çok daha fazlasını yapabiliriz, görelim:
 sınıf Öğrenci konuşması: (isim) -> console.log "Merhaba # {isim}!" öğrenci = yeni Studenttudent.talk ("Carolina")
Tüm bunların koda nasıl çevrildiğini görelim JavaScript derleme yaptığımızda:

Sınıflardan türetilen nesneler oluştururken yapabileceğimiz önemli bir şey, uygulamamızdaki yaşamları boyunca değerlerini korumaktır, bununla özelliklerine yöntemlerle erişebilen bileşenler yapabilir ve böylece bunları uygulamamızın farklı bölümlerinde kullanabiliriz.
İçindeki bir özelliği manipüle etmek için Kahve Komut Dosyası sadece kullanmak zorundayız @ Şebeke ardından, aşağıdaki gibi kodlanabilen, kullanılacak özelliğin adı gelir:
 class Öğrenci konuşması: () -> console.log “Merhaba # {@ isim}!” öğrenci = yeni Öğrenci () öğrenci.name = “Carolina” öğrenci.konuş ()
Doğrudan konsolda çalıştırıldığında bunun nasıl göründüğünü görelim:

Bu yapıldıktan sonra, derlenmiş kodumuzun nasıl göründüğüne bakalım. JavaScript saf:

Kod miktarındaki fark dikkat çekicidir ve yalnızca bir sınıfı bir yöntemle tanımlamak kadar basit bir şey yapmak, ardından onu somutlaştırmak ve oluşturulan yöntemi çağırmak.
Sınıfımızın tanımının bizi başkaları içinde çağrılması gereken yöntemler oluşturmaya yönlendirdiği durumlar vardır, bu daha az tekrarlı ve daha işlevsel bir programlama elde etmek için, bunu aşağıdaki kodu kullanarak nasıl yapabileceğimize bakalım. Kahve Komut Dosyası.
 class Öğrenci konuşması: () -> console.log "Merhaba benim adım: # {@ name}!" @knowAge () knowAge: () -> console.log "Yaşım: # {@ age}" öğrenci = yeni Öğrenci () öğrenci.name = "Vanessa" öğrenci.age = “23” öğrenci.talk ()
Bir önceki kodun yürütülmesinin sonucunu konsolda nasıl görebileceğimizi görelim:

Şimdiye kadar, nesnenin özelliklerini başlattıktan sonra tanımladık, uygulanabilir bir uygulama olmasına rağmen, birçok özelliğe sahip nesneler yaratmamız gerektiğinde bunu sürdürmek zor olabilir.
Birçok nesne ve birçok özellik ile çalışmak zorunda olduğumuz durumlarda yapılacak en iyi şey, inşaatçılarOnlarla, farklı özellikleri "manuel" bir şekilde tanımlamak zorunda kalmadan nesnemize doğrudan hayat verebiliriz. Bir kurucu tanımlamak için aşağıdakine benzer bir yapı kullanın:
 class Öğrenci yapıcısı: (isim, yaş) -> @isim = isim @yaş = yaş konuşma: () -> console.log "Merhaba benim adım: # {@ isim}!" @saberEdad () saberEdad: () -> console.log "Yaşım: # {@ yaş}"
Sınıfın tanımına bakarsak, kurucu bir metottan başka bir şey değildir, ilginç olan şu ki, çağrıldığında inşaatçı çoktan Kahve Komut Dosyası bunun sınıfımız için özel bir metot olduğunu bilir ve ona öyle davranacaktır, bu yüzden sınıfımızın örneklerini yaratacağımız zaman onu açıkça çağırmak zorunda değiliz. Şimdi nesnelerimizi nasıl tanımlayabileceğimize dair bir örnek görelim:
 öğrenci = yeni Öğrenci ("Carolina", "26") öğrenci.konuşma ()
Özelliği tanımlamamız gerekmediğini görüyoruz. İsim ne de mülk yaş, değerleri sınıfımızda tanımladığımız sırayla yapıcıya iletiyoruz ve işin geri kalanını bizim için yapıyor. Elbette bu örnek çok basit ama Veritabanı gibi bir kalıcılık kaynağından gelen değerlerle yüzlerce nesneyi örneklememiz gerektiğini düşünelim.
Aşağıdaki resimde yeni kodumuzun derlenip çevrildikten sonra nasıl göründüğünü görelim. JavaScript saf:

Bu durumda görüyoruz ki JavaScript anahtar kelimeyi kullanmaz inşaatçı içinde tanımladığımız yöntemi oluştururken Kahve Komut Dosyası, bu noktada, yaklaşık 12 veya 13 satırlık kodda çözdüklerimize ek olarak, diller arasındaki farkı daha doğrudan bir şekilde görmeye başlıyoruz. JavaScript daha fazla olmak 20 satır, büyük uygulamalar yaparken dikkate alınması gereken bir şey.
Nesne yönelimli programlama ile çalışmanın avantajlarından biri, miras Bu, yeni sınıflar oluşturabilmek ve sınıfların işlevselliğini alabilmek anlamına gelir. ebeveynler, bununla sıfırdan oluşturmamız gereken öğelerin sayısını azaltıyoruz, çünkü miras alırken üst sınıfın tüm yöntemlerini ve özelliklerini alıyoruz, alt sınıfta veya yeni sınıfta yalnızca yöntemleri ve özellikleri tanımlamamız gerekiyor. ona özeldir.
Belki programlamaya yeni başlayanlar için bu kavram biraz kafa karıştırıcı veya karmaşık olabilir, ancak aşağıdaki örneğe bakarak ne elde edebileceğimiz konusunda kesinlikle biraz daha net olacağız.
 class Bilinecek Kişi Yaş: () -> console.log "Yaşım: # {@ yaş}" class Öğrenci Kişiyi konuşmaya genişletir: () -> console.log "Merhaba # {@ isim}!" öğrenci = yeni Student () Student.age = "30" Student.name = "Jon" Student.knowAge ()
Analiz ederek nasıl bir sınıfımız olduğunu görüyoruz Kişi ve bunun bir yöntemi var bilmekYaş () sınıfı oluştururken örneğin yaşını konsolla yazdırdığımız Öğrenci ona miras kaldığını söyleriz Kişi bu yüzden örtük olarak yeni sınıfımız zaten yönteme sahip bilmekYaş () sınıfta tanımlı olmasa bile.
Aşağıdaki resimde yeni kodumuzun derlenip çevrildikten sonra nasıl göründüğünü görelim. JavaScript saf:

Daha sonra kodumuzu görebiliriz JavaScript kalıtımı tanımlamak için oldukça karmaşıktır, ancak kullanırken Kahve Komut Dosyası optimizasyonu son derece yüksektir. Yardımcı programı görürsek, çok karmaşık sınıfları, gerçekten ihtiyacımız olan belirli koddan daha fazlasını yazmak zorunda kalmadan yeni sınıflarımızda bize birden fazla işlevsellik sağlayabilen uygulama bileşenleri olarak hayal edelim.
Bununla, sınıfların dünyasını gördüğümüz için bu öğreticiyi bitirdik. Kahve Komut Dosyası İlk bakışta göründüğü kadar karmaşık değil, her şey nesne yönelimli programlamanın temellerini ve felsefesini bilmekten geçiyor. Emin olabileceğimiz şey, kullanımının Kahve Komut Dosyası bir dil olarak, sınıfları kullanmanın karmaşıklığını JavaScript sözdizimi gibi dillere çok daha yakın olduğundan önemli ölçüde düşüyor piton veya yakut geliştirilmiş kodu okurken çok daha zarif ve daha az kafa karıştırıcı hale getirirler.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave