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

การประกอบอ็อบเจ็กต์

สร้างอ็อบเจ็กต์ขนาดใหญ่ด้วยการรวมอ็อบเจ็กต์ขนาดเล็กเข้าด้วยกัน การประกอบจำลองความสัมพันธ์แบบมีสิ่งหนึ่งเป็นส่วนประกอบของอีกสิ่งหนึ่ง เช่น Car ที่มี Engine

การประกอบอ็อบเจ็กต์ เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน

คำจำกัดความ

การประกอบ หมายถึงการสร้างอ็อบเจ็กต์ที่ใหญ่ขึ้นจากอ็อบเจ็กต์ขนาดเล็กกว่าซึ่งอ็อบเจ็กต์นั้นเป็นเจ้าของ เป็นความสัมพันธ์แบบ มี: Car มี Engine วิธีนี้ช่วยให้คลาสมีขนาดเล็กและมุ่งเน้นหน้าที่ และให้อ็อบเจ็กต์ขนาดใหญ่มอบหมายงานให้ส่วนประกอบของตัวเอง

ประโยชน์

การประกอบช่วยให้นำกลับมาใช้ซ้ำได้ คุณสามารถเปลี่ยนส่วนประกอบหนึ่งโดยไม่ต้องเปลี่ยนทั้งระบบ นอกจากนี้ยังเพิ่มความสามารถในการทดสอบ เพราะสามารถทดสอบแต่ละส่วนแยกกันได้ เริ่มต้นอย่างง่าย: ให้คลาสหนึ่งพึ่งพาอีกคลาสหนึ่งผ่านฟิลด์

การประกอบกับการสืบทอด

การสืบทอดเป็นความสัมพันธ์แบบ เป็น (สี่เหลี่ยมจัตุรัสเป็นรูปทรง) ส่วนการประกอบเป็นความสัมพันธ์แบบ มี (Car มี Engine) ควรเลือกการประกอบก่อน และสืบทอดเฉพาะเมื่อความสัมพันธ์แบบเป็นนั้นเหมาะสมอย่างเป็นธรรมชาติ

ความเป็นเจ้าของและวงจรชีวิต

เมื่ออ็อบเจ็กต์เป็นเจ้าของส่วนประกอบ อ็อบเจ็กต์นั้นมีหน้าที่สร้างและใช้งานส่วนประกอบเหล่านั้น โดยทั่วไปส่วนประกอบจะไม่ดำรงอยู่โดยลำพัง แต่มีอยู่เพราะอ็อบเจ็กต์ทั้งหมดมีอยู่ แนวคิดนี้ช่วยให้ความรับผิดชอบชัดเจน

ขั้นตอนการออกแบบ

เลือกอ็อบเจ็กต์ทั้งหมด (Car) และส่วนประกอบ (Engine) จากนั้นระบุว่าส่วนประกอบแต่ละส่วนรู้และทำอะไร แล้วเก็บอ็อบเจ็กต์ส่วนประกอบไว้เป็นฟิลด์ภายในอ็อบเจ็กต์ทั้งหมด และเขียนเมธอดขนาดเล็กที่ใช้ส่วนประกอบเหล่านั้นทำงาน

โค้ด: ตัวอย่างความสัมพันธ์แบบมี

โค้ด: Car เป็นเจ้าของ Engine และเรียกใช้เมธอดของ Engine การสร้างส่วนประกอบก่อนแล้วส่งเข้าไปช่วยให้โค้ดเรียบง่ายและยืดหยุ่น

public class Main {
  // Very small classes to show composition (has-a)
  static class Engine {
    int horsepower;
    Engine(int hp) { horsepower = hp; }
    String info() { return horsepower + " HP engine"; }
  }

  static class Car {
    String model;
    Engine engine; // Car has an Engine (composition)
    Car(String m, Engine e) {
      model = m;
      engine = e; // store the part
    }
    void printSpecs() {
      // Use the part to build a message
      System.out.println(model + " with " + engine.info());
    }
  }

  public static void main(String[] args) {
    // Create part first
    Engine e = new Engine(90);
    // Assemble whole with the part
    Car c = new Car("CityCar", e);
    // Use the whole, which delegates to its part
    c.printSpecs();
  }
}

การตรวจสอบการประกอบ

ตรวจสอบอย่างรวดเร็ว: ข้อความใดอธิบายการประกอบได้ดีที่สุด

สรุปทบทวน

สรุปทบทวน: การประกอบจำลองความสัมพันธ์แบบมี เริ่มจากส่วนประกอบขนาดเล็ก มอบหน้าที่ที่ชัดเจนให้ส่วนประกอบนั้น และให้อ็อบเจ็กต์ทั้งหมดใช้งานผ่านการเรียกใช้เมธอดแบบง่าย

คำถามที่พบบ่อย

บทเรียน “การประกอบอ็อบเจ็กต์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การประกอบอ็อบเจ็กต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การประกอบอ็อบเจ็กต์”

สร้างอ็อบเจ็กต์ขนาดใหญ่ด้วยการรวมอ็อบเจ็กต์ขนาดเล็กเข้าด้วยกัน การประกอบจำลองความสัมพันธ์แบบมีสิ่งหนึ่งเป็นส่วนประกอบของอีกสิ่งหนึ่ง เช่น Car ที่มี Engine คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน

บทเรียน “การประกอบอ็อบเจ็กต์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม

ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. this และ toString/equals/hashCode
  2. การประกอบอ็อบเจ็กต์
  3. การจำลองโดเมน (UML→โค้ด)
← กลับไปที่ Java Academy