Tasarım
Hiyerarşiyi planlayın: soyut tabanı seçin, somut şekilleri listeleyin, alanları ve yöntemleri belirleyin ve basit çok biçimli işlemleri tanımlayın.
Tasarım, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 3 dersten oluşur.
Amaç ve kapsam
Amaç: abstract bir temel sınıf (Shape) ve birkaç somut şekilden (Circle, Rectangle) oluşan küçük bir şekil hiyerarşisi oluşturmak. Önce ortak işlemleri tasarlayacak, ardından planı küçük kod prototipleriyle doğrulayacağız.
Şekiller ve alanlar
Şekiller: Circle (yarıçap), Rectangle (genişlik, yükseklik). Alanları yalnızca ait oldukları yerde tutun: yarıçap Circle içinde, genişlik ve yükseklik Rectangle içinde olsun. Temel sınıf her alanı değil, davranış sözleşmelerini içersin.
İşlemler ve çok biçimlilik
Ortak işlemler: area() ve perimeter(). Bunları Shape içinde bildiririz; böylece her Shape bu çağrılara yanıt verebilir. Ardından bir Shape listesi, Circle ve Rectangle nesnelerini birlikte tutabilir ve bunları tek biçimde işleyebilir.
Kod: uygulama programlama arayüzü taslağı
Prototip 1: area ve perimeter yöntemlerine sahip bir Shape ve basit bir Circle tanımlayın. Bu, ortak uygulama programlama arayüzünün tek bir somut tür için çalıştığını denetler.
public class Main {
// Minimal API sketch to validate the design
static abstract class Shape {
abstract double area();
abstract double perimeter();
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
}
public static void main(String[] args) {
Shape s = new Circle(2.0);
System.out.println("area=" + s.area());
System.out.println("perimeter=" + s.perimeter());
}
}
Koleksiyonlar ve raporlama
Daha sonra şekilleri bir listede saklayacak ve tür, alan ve çevre gibi özetleri yazdıracağız. Küçük bir biçimlendirici, mobil cihazdaki çıktının okunabilir kalmasını sağlar: her satırda bir şekil ve iki ondalık basamağa yuvarlanmış değerler.
Kod: şekil listesi
Prototip 2: Circle ve Rectangle nesnelerini tek bir Shape dizisinde birleştirip her birini yazdırın. Temel yöntemler, bunların tek biçimde ele alınmasını sağlar (çok biçimlilik).
public class Main {
static abstract class Shape {
abstract double area();
abstract double perimeter();
String info() {
// default helper for neat printing
return String.format("area=%.2f, per=%.2f", area(), perimeter());
}
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
public String toString() { return "Circle " + info(); }
}
static class Rectangle extends Shape {
double w, h;
Rectangle(double w, double h) { this.w = w; this.h = h; }
double area() { return w * h; }
double perimeter() { return 2 * (w + h); }
public String toString() { return "Rectangle " + info(); }
}
public static void main(String[] args) {
Shape[] arr = { new Circle(2.0), new Rectangle(3.0, 4.0) };
for (int i = 0; i < arr.length; i = i + 1) {
System.out.println(arr[i]);
}
}
}
Temel tasarım denetimi
Hızlı kontrol: Bu proje için abstract Shape temel sınıfında hangi öğeler bulunmalıdır?
Özet
Özet: Temel sınıf area ve perimeter yöntemlerini bildirir. Alt sınıflar şekle özgü verileri saklar ve matematiği uygular. Shape listeleri, farklı şekilleri tek bir döngüyle yazdırmamızı sağlar.
Sıkça Sorulan Sorular
“Tasarım” dersi ücretsiz mi?
Evet — “Tasarım” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 3 dersten oluşur.
“Tasarım” dersinde ne öğreneceğim?
Hiyerarşiyi planlayın: soyut tabanı seçin, somut şekilleri listeleyin, alanları ve yöntemleri belirleyin ve basit çok biçimli işlemleri tanımlayın. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Tasarım” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.