คลาสและออบเจ็กต์ใน Java

⚡ สรุปอย่างชาญฉลาด

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

  • 🧱 จัดประเภทเป็นแบบพิมพ์เขียว: คลาสกำหนดฟิลด์และเมธอดที่ใช้ร่วมกันสำหรับวัตถุประเภทใดประเภทหนึ่งโดยเฉพาะ
  • 🐕 อ็อบเจ็กต์ในฐานะอินสแตนซ์: อ็อบเจ็กต์คืออินสแตนซ์ที่สมบูรณ์ในตัวเองของคลาส ซึ่งเก็บข้อมูลและพฤติกรรมของตัวเองไว้
  • 🇧🇷 ความแตกต่างที่สำคัญ: คลาสคือแม่แบบ ส่วนอ็อบเจ็กต์คือตัวอย่างที่เป็นรูปธรรมที่สร้างขึ้นจากแม่แบบนั้น
  • 📐 หลักการออกแบบ: คลาสที่ดีจะปฏิบัติตามหลักการ SOLID เพื่อให้โค้ดเชิงวัตถุสามารถบำรุงรักษาได้ง่าย
  • ???? ตัวอย่าง: โปรแกรมสองตัวอย่างแสดงให้เห็นคลาสที่มีเมธอด main อยู่ภายใน และคลาสที่มีเมธอด main แยกไปอยู่ในคลาสอื่น

คลาสและออบเจ็กต์ใน Java

คลาสและอ็อบเจ็กต์คืออะไร Java?

คลาสและออบเจ็กต์ใน Java คลาสและอ็อบเจ็กต์เป็นองค์ประกอบพื้นฐานของ OOP บ่อยครั้งที่เกิดความสับสนระหว่างคลาสและอ็อบเจ็กต์ ในบทเรียนนี้ เราจะพยายามอธิบายความแตกต่างระหว่างคลาสและอ็อบเจ็กต์ให้คุณทราบ Javaก่อนอื่น เรามาทำความเข้าใจกันก่อนว่าสิ่งเหล่านั้นคืออะไร

คลาสอยู่ในอะไร Java?

A ชั้น คลาสคือแบบแผนหรือชุดคำสั่งในการสร้างวัตถุประเภทใดประเภทหนึ่งโดยเฉพาะ เป็นแนวคิดพื้นฐานของการเขียนโปรแกรมเชิงวัตถุซึ่งเกี่ยวข้องกับสิ่งต่างๆ ในชีวิตจริง คลาสในคลาส Java กำหนดว่าวัตถุจะทำงานอย่างไรและวัตถุนั้นจะมีอะไรบ้าง

ไวยากรณ์ของคลาสใน Java

class <class_name> {
    field;
    method;
}

วัตถุในคืออะไร Java?

An วัตถุ เป็นตัวอย่างของคลาส วัตถุใน OOP อ็อบเจ็กต์ก็คือส่วนประกอบที่สมบูรณ์ในตัวเอง ซึ่งประกอบด้วยเมธอดและคุณสมบัติเพื่อทำให้ข้อมูลประเภทใดประเภทหนึ่งมีประโยชน์ ตัวอย่างเช่น สี ชื่อ โต๊ะ กระเป๋า หรือเสียงเห่า เมื่อคุณส่งข้อความไปยังอ็อบเจ็กต์ คุณกำลังขอให้อ็อบเจ็กต์เรียกใช้หรือดำเนินการเมธอดใดเมธอดหนึ่งตามที่กำหนดไว้ในคลาส จากมุมมองของการเขียนโปรแกรม อ็อบเจ็กต์ใน OOP สามารถรวมถึงโครงสร้างข้อมูล ตัวแปร หรือฟังก์ชันได้ และมีการจัดสรรพื้นที่หน่วยความจำไว้ให้ Java วัตถุต่างๆ ถูกออกแบบมาในรูปแบบลำดับชั้นของคลาส

ไวยากรณ์ของวัตถุใน Java

ClassName ReferenceVariable = new ClassName();

ความแตกต่างระหว่างวัตถุและคลาสในคืออะไร Java?

A ชั้น ในการเขียนโปรแกรมเชิงวัตถุนั้น แบบร่างหรือต้นแบบจะเป็นตัวกำหนดตัวแปรและเมธอด (ฟังก์ชัน) ที่ใช้ร่วมกันในทุกๆ ส่วน Java วัตถุประเภทหนึ่ง

An วัตถุ ใน OOP ตัวอย่างของคลาสก็คืออ็อบเจ็กต์ในซอฟต์แวร์ อ็อบเจ็กต์ในซอฟต์แวร์มักถูกใช้เพื่อจำลองวัตถุในโลกแห่งความเป็นจริงที่คุณพบเห็นในชีวิตประจำวัน

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

เข้าใจแนวคิดของ Java คลาสและอ็อบเจ็กต์ พร้อมตัวอย่าง

ลองยกตัวอย่างการพัฒนาดูping สัตว์เลี้ยง ระบบการจัดการโดยเฉพาะอย่างยิ่งสำหรับสุนัข คุณจะต้องมีข้อมูลต่างๆ เกี่ยวกับสุนัข เช่น สายพันธุ์ อายุ ขนาด เป็นต้น

คุณจำเป็นต้องจำลองสิ่งมีชีวิตในชีวิตจริง เช่น สุนัข ให้เป็นเอนทิตีในซอฟต์แวร์

Java คลาสและวัตถุ

ยิ่งไปกว่านั้น คำถามสำคัญก็คือ คุณจะออกแบบซอฟต์แวร์แบบนั้นได้อย่างไร?

นี่คือทางออก: ก่อนอื่น เรามาลองทำแบบฝึกหัดกันก่อน คุณสามารถดูภาพสุนัขสามสายพันธุ์ที่แตกต่างกันได้ด้านล่าง

Java คลาสและวัตถุ

หยุดที่นี่เดี๋ยวนี้! แสดงรายการความแตกต่างระหว่างพวกเขา

ความแตกต่างบางอย่างที่คุณอาจระบุไว้ อาจเป็นสายพันธุ์ อายุ ขนาด สี ฯลฯ หากคุณลองคิดดูสักครู่ ความแตกต่างเหล่านี้ก็เป็นลักษณะทั่วไปบางอย่างที่สุนัขเหล่านี้มีร่วมกัน ลักษณะเหล่านี้ (สายพันธุ์ อายุ ขนาด สี) สามารถนำมาใช้เป็นข้อมูลสำหรับวัตถุของคุณได้

Java คลาสและวัตถุ

ต่อไป แสดงรายการพฤติกรรมทั่วไปของสุนัขเหล่านี้ เช่น นอน นั่ง กิน ฯลฯ ดังนั้นสิ่งเหล่านี้จะเป็นการกระทำของออบเจ็กต์ซอฟต์แวร์ของเรา

Java คลาสและวัตถุ

จนถึงตอนนี้เราได้กำหนดสิ่งต่างๆ ดังต่อไปนี้:

  • ชั้น – สุนัข
  • สมาชิกข้อมูล or วัตถุ – ขนาด อายุ สี พันธุ์ ฯลฯ
  • วิธีการ – กิน นอน นั่ง และวิ่ง

Java คลาสและวัตถุ

ทีนี้ สำหรับค่าต่างๆ ของสมาชิกข้อมูล (สายพันธุ์ ขนาด อายุ และสี) ใน Java คลาสคุณจะได้รับสิ่งของสุนัขที่แตกต่างกัน

Java คลาสและวัตถุ

คุณสามารถออกแบบโปรแกรมใดก็ได้โดยใช้แนวทาง OOP นี้ ในการสร้างคลาส คุณต้องปฏิบัติตามหลักการเหล่านี้:

  • หลักการความรับผิดชอบเดียว (SRP): การเปลี่ยนชั้นเรียนควรมีเหตุผลเพียงข้อเดียวเท่านั้น
  • หลักการเปิดปิด (OCP): ควรสามารถขยายคลาสได้โดยไม่ต้องแก้ไขตัวคลาสเอง
  • หลักการทดแทนลิสคอฟ (LSP): คลาสที่สืบทอดมาจะต้องสามารถใช้แทนคลาสพื้นฐานได้
  • หลักการการกลับด้านของการพึ่งพา (DIP): ขึ้นอยู่กับกล้ามเนื้อหน้าท้องtracการเคลื่อนที่ ไม่ใช่บนก้อนหินปูน
  • หลักการแยกอินเทอร์เฟซ (ISP): เตรียมอินเทอร์เฟซที่มีรายละเอียดสูงและเหมาะสมกับลูกค้าแต่ละราย

คลาสและออบเจ็กต์ใน Java ตัวอย่างโปรแกรม

// Class Declaration
public class Dog {
    // Instance Variables
    String breed;
    String size;
    int age;
    String color;

    // method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }

    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
}

Output:

Breed is: Maltese Size is:Small Age is:2 color is: white

Java ตัวอย่างวัตถุและคลาส: คลาสภายนอกหลัก

ในโปรแกรมก่อนหน้านี้ เราสร้างเมธอด main() ไว้ภายในคลาส แต่คราวนี้เราสร้างคลาสใหม่และกำหนดเมธอด main() ไว้ในอีกคลาสหนึ่ง ซึ่งเป็นวิธีที่ดีกว่าวิธีเดิม

// Class Declaration
class Dog {
    // Instance Variables
    String breed;
    String size;
    int age;
    String color;

    // method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }
}
public class Execute {
    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
}

Output:

Breed is: Maltese Size is:Small Age is:2 color is: white

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

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

โมเดล AI สามารถจดจำโครงสร้างคลาสเพื่อสร้างอ็อบเจ็กต์ที่สอดคล้องกัน แนะนำเมธอด และปรับปรุงโค้ดให้เป็นไปตามการออกแบบเชิงวัตถุที่สะอาดตา ซึ่งจะช่วยเร่งการพัฒนาในขณะที่ยังคงรักษา...ping ความรับผิดชอบได้รับการจัดระเบียบอย่างดี

คอนสตรัคเตอร์เป็นเมธอดพิเศษที่ใช้ในการกำหนดค่าเริ่มต้นให้กับอ็อบเจ็กต์ใหม่เมื่อมีการสร้างขึ้น มันมีชื่อเดียวกับคลาสและไม่มีประเภทการส่งคืนค่า โดยส่วนใหญ่จะกำหนดค่าเริ่มต้นให้กับฟิลด์ต่างๆ

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

สรุปโพสต์นี้ด้วย: