0Pricing
Java Academy · บทเรียน

การออกแบบ

วางแผนลำดับชั้น: เลือกคลาสฐานนามธรรม ระบุรูปทรงรูปธรรม เลือกฟิลด์และเมธอด และกำหนดการดำเนินการแบบพหุรูปแบบอย่างง่าย

การออกแบบ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การออกแบบ
  2. การนำไปใช้งาน
  3. พฤติกรรมแบบพหุรูปแบบ
← กลับไปที่ Java Academy