2.1 ความหมายของคลาส (Class) และอ็อบเจกต์ (Object)
2.1 ความหมายของคลาส (Class) และอ็อบเจกต์ (Object)
คลาส คือ สิ่งที่ใช้กำหนดรูปแบบของข้อมูล (Attributes) และเมธอด (Methods) การทำงานเข้าด้วยกัน การสร้างคลาส หมายถึงการสร้างประเภทของออบเจ็คขึ้นมา กล่าวอีกนัยหนึ่ง คลาสคือประเภทข้อมูลของออบเจ็คโดยคลาสนั้นสร้างขึ้นโดยผู้ใช้ (User-defined type) โดยปกติแล้ว ประเภทข้อมูลพื้นฐานในภาษา Python นั้นคือคลาส เมื่อคุณสร้างตัวแปรใดๆ ขึ้นมา ตัวแปรเหล่านั้นเป็นออบเจ็คของคลาส
เพื่อทำให้คุณเข้าใจมากขึ้นมาดูตัวอย่างต่อไปนี้
a = 1
b = 1.34
c = 'marcuscode.com'
print(type(a))
print(type(b))
print(type(c))
อ็อปเจ็ค(Object) เป็นสิ่งที่สร้างขึ้นมาจากแบบแปลที่วางไว้ก็คือการทำให้แบบแปลนสามารถใช้งานได้จริงๆ ซึ่งอ็อปเจ็คจะมีสมบัติอยู่ 2 อย่าง อย่างแรกก็คือ ลักษณะ(attribute หรือ data) ก็คือรูปร่าง ลักษณะของวัตถุ และ สิ่งที่ทำได้(behavior หรือ method) ก็คือความสามารถของวัตถุ
ตัวอย่างเช่น หากเราจะสร้างหุ่นยนต์ขึ้นมา ก็ต้องมีการกำหนดรูปร่างหน้าตาขอหุ่นยนต์ หุ่นยนต์กู้ซากปรักหักพังก็จะมีหน้าตาต่างกับหุ่นยนต์ที่เป็นโอเปอเรเตอร์ต้อนรับคนหน้าโรงแรม ซึ่งเราก็ต้องกำหนดว่าจะมีสี มีรูปร่าง อย่างไร ส่วนการทำงานก็เช่น จะเก็บของอะไรบ้าง จะกระโดข้ามสิ่งกีดขวางหรือบุกไปเลย
การประกาศตัวแปรอ็อปเจ็ค
ชื่อคลาส ตัวแปรอ็อปเจ็ค ;
Student student;
การสร้างอ็อปเจ็ค
new ชื่อคลาส(พารามิเตอร์);
new Student();
หรือจะประกาศไว้ในบรรทัดเดียวกันก็ได้
Student student = new Student();
เมื่อทำการประกาศตัวแปรอ็อปเจ็คถึงตรงนี้ก็จะทำให้มีอ็อปเจ็คที่สร้างขึ้นมามีคุณลักษณะและการทำงานแบบเดียวกับที่ตัวแปรคลาสและเมท็อดได้กำหนดเอาไว้ โดยที่มี student เป็นตัวอ้างอิงอ็อปเจ็คประเภท Student (เวลาเราสร้างคลาสก็จะถือว่าคลาสนั้นเป้นตัวแปรแบบพิเศษเหมือนพวก Array ก็เลยสร้างด้วยการ new ขึ้นมาได้)