การออกแบบ
วางแผนลำดับชั้น: เลือกคลาสฐานนามธรรม ระบุรูปทรงรูปธรรม เลือกฟิลด์และเมธอด และกำหนดการดำเนินการแบบพหุรูปแบบอย่างง่าย
การออกแบบ เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
เป้าหมายและขอบเขต
เป้าหมาย: สร้างลำดับชั้นรูปทรงขนาดเล็ก โดยมีคลาสฐานนามธรรม Shape และรูปทรงรูปธรรมสองสามชนิด ได้แก่ Circle และ Rectangle เราจะออกแบบการดำเนินการร่วมกันก่อน จากนั้นยืนยันแผนด้วยต้นแบบโค้ดขนาดเล็ก
รูปทรงและฟิลด์
รูปทรง: Circle (รัศมี), Rectangle (ความกว้าง, ความสูง) เก็บฟิลด์ไว้เฉพาะในตำแหน่งที่เป็นของฟิลด์นั้น: รัศมีอยู่ใน Circle และความกว้างกับความสูงอยู่ใน Rectangle คลาสฐานเก็บสัญญาด้านพฤติกรรม ไม่ใช่ฟิลด์ทั้งหมด
การดำเนินการและพหุรูปแบบ
การดำเนินการร่วมกัน: area() และ perimeter() เราประกาศเมธอดเหล่านี้ใน Shape เพื่อให้ Shape ทุกชนิดตอบสนองต่อการเรียกใช้ได้ จากนั้นรายการของ Shape สามารถเก็บอ็อบเจกต์ Circle และ Rectangle ที่ผสมกัน และประมวลผลด้วยวิธีเดียวกัน
โค้ด: ร่างส่วนติดต่อ
ต้นแบบที่ 1: กำหนด Shape พร้อม area และ perimeter และสร้าง Circle แบบเรียบง่าย วิธีนี้ตรวจสอบว่าส่วนติดต่อที่ใช้ร่วมกันทำงานกับชนิดรูปธรรมหนึ่งชนิดได้
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());
}
}
คอลเลกชันและการรายงาน
ภายหลังเราจะเก็บรูปทรงไว้ในรายการ และพิมพ์ข้อมูลสรุป เช่น ชนิด area และ perimeter ตัวจัดรูปแบบขนาดเล็กช่วยให้ผลลัพธ์อ่านง่ายบนอุปกรณ์เคลื่อนที่ โดยแสดงรูปทรงหนึ่งรายการต่อบรรทัดและปัดเศษเป็นทศนิยมสองตำแหน่ง
โค้ด: รายการรูปทรง
ต้นแบบที่ 2: ผสม Circle และ Rectangle ไว้ในอาร์เรย์ของ Shape เดียวกัน แล้วพิมพ์ข้อมูลของแต่ละรายการ เมธอดของคลาสฐานช่วยให้จัดการได้อย่างสม่ำเสมอด้วยพหุรูปแบบ
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]);
}
}
}
ตรวจสอบการออกแบบคลาสฐาน
ตรวจความเข้าใจ: รายการใดควรอยู่ในคลาสฐาน abstract Shape สำหรับโครงการนี้
สรุปทบทวน
สรุปทบทวน: คลาสฐานประกาศ area และ perimeter คลาสย่อยเก็บข้อมูลเฉพาะของรูปทรงและคำนวณตามนั้น รายการของ Shape ช่วยให้เราพิมพ์รูปทรงที่ผสมกันได้ด้วยลูปเดียว
คำถามที่พบบ่อย
บทเรียน “การออกแบบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การออกแบบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การออกแบบ”
วางแผนลำดับชั้น: เลือกคลาสฐานนามธรรม ระบุรูปทรงรูปธรรม เลือกฟิลด์และเมธอด และกำหนดการดำเนินการแบบพหุรูปแบบอย่างง่าย คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “การออกแบบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การออกแบบ
- การนำไปใช้งาน
- พฤติกรรมแบบพหุรูปแบบ