[Java OOP]Class และ Object คืออะไร
วันนี้มารู้จัก Class และ Object กัน ซึ่งในหัวข้อนี้มันจะเกี่ยวข้องกับเรื่อง Object-oriented programming โดยเรามาฝึกมองสิ่งที่ต่างๆเป็นวัตถุ ก่อนจะเข้าเรื่องผมขอบอกเลยว่าถ้าเข้าใจเรื่องนี้จะสามารถนำความรู้ไปประยุกต์ใช้ได้อย่างมากมายและอาจจะช่วยให้เขียนโปรแกรมได้ง่ายขึ้นอีกด้วยในบ้างกรณี
class คือ คุณลักษณะ หรือคุณสมบัติของวัตถุใดวัตถุหนึ่ง หรื่อจะง่ายๆคือเป็นตัวกำหนดคุณสมบัติได้ถูกสร้างขึ้น จะขอยกตัวอย่าง class Dog สุนัขก็จะมีคุณสมบัติ เช่น ชื่อ พันธฺุ์ และอื่นขึ้นอยู่กับคุณสมบัติของสิ่งที่เราสร้าง
หลักการเขียน class จะมีองค์ประกอบอยู่ 3 ส่วนด้วยกัน
สรุป Class และ Object
class คือ คุณลักษณะ หรือคุณสมบัติของวัตถุใดวัตถุหนึ่ง หรื่อจะง่ายๆคือเป็นตัวกำหนดคุณสมบัติได้ถูกสร้างขึ้น จะขอยกตัวอย่าง class Dog สุนัขก็จะมีคุณสมบัติ เช่น ชื่อ พันธฺุ์ และอื่นขึ้นอยู่กับคุณสมบัติของสิ่งที่เราสร้าง
หลักการเขียน class จะมีองค์ประกอบอยู่ 3 ส่วนด้วยกัน
- คุณสมบัติ(Field) คือ ตัวแปรที่เราจะสร้างให้กับคุณสมบัติ
- คอนทรักเจอร์(Constructor) คือ เป็นกำหนดการรูปแบบการเรียกใช้ Class
- เมทธอต(Method) คือ ฟังชั่นก์ หรือ เหตุการณ์ เช่น การตั้งชื่อให้กับสนัข การกำหนดสายพันธุ์ หรือ จะใส่เหตุการณ์ต่างๆก็ได้เช่น การกิน นอน เดินเล่น เห่า เป็นต้น
ให้เรานึกถึงความเป็นจริงในชีวิตของเราว่าสนัขควรมีคุณสมบัติอะไรบ้าง ในที่นี่จะให้สุนัขมีคุณสมบัติ คือ มีชื่อ มีสายพันธฺุ์ มีเมทธอต คือ ตั้งชื่อสุนัขได้ กำหนดสายพันธฺุ์ได้ และสามารถเรียกดู ชื่อ กับ สายพันธุ์ ได้ด้วย
/* * @author http://javaagkasit.blogspot.com */ public class Dog { //กำหนดคุณสมบัติ(Field) String Name; String Breed; //คอนทรักเจอร์(Constructor) Dog(){ } // เมทธอต สำหรับ กำหนดชื่อสุนัข public void setName(String name){ Name = name; } // เมทธอต สำหรับ กำหนดสายพันธุ์ public void setBreed(String breed){ Breed = breed; } // เมทธอต สำหรับไว้ให้เรียกดูชื่อสุนัข public String getName(){ return Name; } // เมทธอต สำหรับไว้ให้เรียกดูสายพันธุ์สุนัข public String getBreed(){ return Breed; } }เมื่อสร้างคลาสเสร็จ เรามาลองเรียกใช้งานคลาส Dog เราจะได้ทราบว่า Object มันคืออะไรกันแน่
/** *class สำหรับ ทดสอบ class Dog * @author http://javaagkasit.blogspot.com */ public class TestDog { public static void main(String [] args){ Dog d = new Dog(); //สุนักตัวที่ 1 d.setName("มี่มี้"); // ตั้วชื่อว่า มี่มี้ d.setBreed("ชิวาวา"); // สุนักพันธุ์ ชิวาวา Dog d2 = new Dog(); //สุนักตัวที่ 2 d2.setName("ก้าน"); // ตั้วชื่อว่า ก้าน d2.setBreed("บางแก้ว"); // หมาพันธุ์ บางแก้ว System.out.println("สุนักตัวที่ 1"); System.out.println(" ชื่อ :"+d.getName()); System.out.println("พันธุ์ :"+d.getBreed()); System.out.println("สุนักตัวที่ 2"); System.out.println(" ชื่อ :"+d2.getName()); System.out.println("พันธุ์ :"+d2.getBreed()); } }
เวลาเราจะเรียกใช้ class Dog ก็จะทำการ Dog d = new Dog(); ตัว d นั้นล่ะเค้าเรียก Object ซึ่งออปเจกนี้จะมีคุณสมบัติเหมือนกับที่เรากำหนดไว้ใน class Dog ทุกประการ ในหนึ่งออปเราจะมองให้เป็นวัตถุอย่าง ซึ่ง ออปเจก d ที่เราได้ new เราจะมองเป็นสนุกหนึ่งต้ว
Dog d = new Dog(); //สุนักตัวที่ 1 d.setName("มี่มี้"); // ตั้วชื่อว่า มี่มี้ d.setBreed("ชิวาวา"); // สุนักพันธุ์ ชิวาวา
เป็นการสร้าง ออปเจก สุนัข มาหนึ่งตัว แล้วก็ตั้งชื่อให้มัน โดยการ d.setName("มี่มี้"); แล้วก็ระบุสายพันธุ์ให้มันโดยการ d.setBreed("ชิวาวา"); จะเห็นว่าการที่จะเรียกใช้เมทธอตใน class Dog ได้โดยการใช้ "." พอเรากำหนดชื่อ สายพันธุ์ อยากจะแสดงรายของสุนัขตัวนี้( ออปเจก d)ก็ทำได้ไดย
System.out.println("สุนักตัวที่ 1"); System.out.println(" ชื่อ :"+d.getName()); System.out.println("พันธุ์ :"+d.getBreed());
ผลการรันโปรแกรม
สรุป Class และ Object
Class เป็นการกำหนดคุณสมบัติของวัตถุสิ่งใดสิ่งหนึ่ง และObject ก็เป็นการเรียกใช้ Class นั้นๆโดยที่ object นั้นๆจะมีคุณสมบัติเหมือนกับ class ที่เรียกใช้ทุกประการ
เรื่องที่ควรศึกษาเพิ่มเติม - การใช้งาน Constructor
Subscribe to:
Post Comments
(
Atom
)
ดีมากครับ ฝากกดดูวิดีโอนสอน
ReplyDelete►►สมัครบาคาร่า