Video: Azure Friday | HashiCorp Terraform on Azure 2024
Çoğu bilgisayar programı tamamen sanal alanda çalışır. Tuğlaları, çivileri veya kirişleri yoktur. Böylece birkaç dakika içinde oldukça karmaşık bir bilgisayar programı yazabilirsiniz. Hiçbir kasınız ve ağır ekipmanınız olmasa bile, karmaşıklığı, birçok karmaşık fiziksel yapıya rakip olan bir yapı oluşturabilirsiniz. Siz, geliştirici siz karmaşık, sanal köprüler kurma gücüne sahipsiniz.
Bilgisayar programlamanın bir amacı karmaşıklığı yönetmektir. İyi bir uygulama basitçe kullanışlı veya görsel olarak çekici değildir - iyi bir uygulamanın kodu güzel organize edilmiş, anlaşılması kolay ve değiştirilmesi kolaydır.
C ++ gibi bazı programlama dilleri, bir sınıfın birden fazla ebeveyn sınıfına sahip olabileceği çoklu kalıtım, 'u destekler. Örneğin, C ++'da bir Kitap sınıfı, bir TeachingMaterial sınıfı ve bir Ders Kitabı sınıfı oluşturabilirsiniz. Ders Kitabı'nı hem Kitap hem de TeachingMaterial uzatabilir hale getirebilirsiniz.
Bu özellik, sınıf hiyerarşilerini oldukça esnek hale getirir, ancak aynı hiyerarşileri son derece karmaşık hale getirir. Hem bilgisayarın Fare sınıfının hem de kemirgenin Fare sınıfının taşıma yöntemlerini nasıl devralacaklarına karar vermek için zor kurallara ihtiyacınız var.
Bütün bu karmaşıklığı önlemek için, Java çoklu devralmayı desteklemez. Java'da her sınıfa bir (ve yalnızca bir) üst sınıfı vardır. Bir sınıf herhangi bir alt sınıf sayısına sahip olabilir. Android'in Etkinlik sınıfının alt sınıflarını yapabilirsiniz (ve yapacaktır).
Ve diğer geliştiriciler, Android'in Etkinlik sınıfının kendi alt sınıflarını oluşturuyor. Fakat sınıfların çoklu kişilikleri yoktur. Bir Java sınıfı yalnızca bir üst olabilir. Bu listede adı geçen Yönetici sınıfı hem FullTimeEmployee sınıfını hem de PartTimeEmployee sınıfını genişletemez.
paket org. allyourcode. şirket; public class Executive, FullTimeEmployee'yi genişletiyor {double bonus; Kamu İdaresi () {} kamu İcracı (String name, String jobTitle, çift maaş, ikili bonus) {this. isim = isim; bu. jobTitle = iş unvanı; bu. maaş = maaş; bu. bonus = bonus;} @Override genel çift ödeme () {return salary + bonus;}}