# การใช้งาน Class และ Instance ในภาษา Dart แบบง่ายๆ
ในโลกแห่งการเขียนโปรแกรม หนึ่งในความรู้พื้นฐานที่สำคัญคือการเข้าใจเรื่องของ `class` และ `instance` ยิ่งไปกว่านั้น ภาษา Dart ซึ่งเป็นภาษาโปรแกรมที่ใช้ในการพัฒนาแอปพลิเคชันด้วย Flutter ยังให้ความสำคัญกับสิ่งเหล่านี้อย่างยิ่ง สำหรับผู้ที่สนใจในการเขียนโปรแกรม หรือมองหาโอกาสในการพัฒนาตนเองในสายงานนี้ การศึกษาภาษา Dart จะเปิดโลกการเขียนโค้ดให้คุณได้กว้างขึ้น และที่ EPT เราพร้อมจะนำทางคุณไปสู่การเป็นนักพัฒนาที่เชื่อมั่นในทักษะของตัวเอง
`Class` คือโครงสร้างพื้นฐานที่ใช้ในการสร้าง object ในโปรแกรม เหมือนกับแบบจำลองที่เราสามารถนำมาใช้สร้าง object ที่มีลักษณะเหมือนกันได้หลายตัว คิดเสมือนกับเป็น "แบบแปลน" ที่ใช้กำหนดลักษณะ (properties) และพฤติกรรม (methods) ของ object นั้นๆ
`Instance` คือ object ที่ถูกสร้างขึ้นมาจาก class มันเป็นตัวฉายออกมาจากแบบจำลองที่ class กำหนดไว้ เช่น เมื่อเรามี class ที่เรียกว่า `Car` เราสามารถสร้าง instance ของ `Car` ได้หลายคัน ทั้งหมดนี้จะมีลักษณะและพฤติกรรมที่เหมือนกันตามที่ class `Car` กำหนดไว้
ลองมาดูตัวอย่างการใช้งาน class และ instance ใน Dart ผ่าน 3 ตัวอย่าง code ที่ครอบคลุมทั้งแนวคิดพื้นฐานและการนำไปใช้งานจริง:
ตัวอย่างที่ 1: การสร้าง Class ของรถและสร้าง Instance
// สร้าง class ที่ชื่อว่า Car
class Car {
// คุณสมบัติหลักของรถ
String make;
String model;
int year;
// Constructor ซึ่งใช้สำหรับการสร้าง instance ของ class Car
Car(this.make, this.model, this.year);
// Method ที่ใช้แสดงรายละเอียดของรถ
void displayDetails() {
print('Manufacturer: $make, Model: $model, Year: $year');
}
}
void main() {
// สร้าง instance ของ class Car
var myCar = Car('Toyota', 'Corolla', 2021);
myCar.displayDetails(); // แสดงข้อมูล: Manufacturer: Toyota, Model: Corolla, Year: 2021
}
ในตัวอย่างนี้เราได้สร้าง class `Car` ที่มี properties อย่าง `make`, `model`, และ `year` พร้อมกับ constructor ที่ช่วยให้เราสามารถส่งค่าเหล่านี้ไปยัง instance ของ `Car` ได้ทันทีเมื่อสร้างขึ้น และเรายังมี method `displayDetails` ที่ช่วยให้เราสามารถแสดงข้อมูลของรถที่เราสร้างได้อีกด้วย
ตัวอย่างที่ 2: ใช้งาน Inheritance ด้วยการสืบทอดคุณสมบัติจาก Class
// Class พื้นฐานของสัตว์ที่มีพฤติกรรม breathe และ walk
class Animal {
void breathe() {
print('Breathing...');
}
void walk() {
print('Walking...');
}
}
// สร้าง class ที่ชื่อว่า Cat ซึ่งสืบทอดมาจาก Animal
class Cat extends Animal {
void meow() {
print('Meow!');
}
}
void main() {
var kitty = Cat();
kitty.breathe(); // แสดงข้อมูล: Breathing...
kitty.walk(); // แสดงข้อมูล: Walking...
kitty.meow(); // แสดงข้อมูล: Meow!
}
ที่นี่ `Cat` เป็น subclass ที่สืบทอดมาจาก class `Animal` ซึ่งหมายความว่า `Cat` จะมีพฤติกรรมเดียวกับ `Animal` และมีเพิ่มเติมพฤติกรรมเฉพาะตัวอย่างเช่น `meow`
ตัวอย่างที่ 3: Polymorphism ใช้งาน Method Override ใน Class
class Vehicle {
void startEngine() {
print('Engine started.');
}
}
class ElectricCar extends Vehicle {
// Override method startEngine ของ superclass Vehicle
@override
void startEngine() {
print('Electric engine silently started.');
}
}
void main() {
var tesla = ElectricCar();
tesla.startEngine(); // แสดงข้อมูล: Electric engine silently started.
}
ในตัวอย่างนี้ `ElectricCar` ทำการ override method `startEngine` ที่มาจาก class `Vehicle` เพื่อให้สอดคล้องกับความเป็นรถยนต์ไฟฟ้าที่มีความพิเศษคือเครื่องยนต์ทำงานอย่างเงียบสงบ
การใช้งาน class และ instance ในโปรแกรมมิ่งไม่ได้จำกัดอยู่แค่ในแง่ของการเขียนโค้ดเท่านั้น ในโลกจริง เราใช้ความสามารถเหล่านี้เพื่อจัดการกับข้อมูลและการทำงานของโปรแกรมในภาพใหญ่ เช่นการจำลองสถานการณ์ในโปรแกรมจัดการบัญชีธนาคาร ที่ต้องการแยกแยะระหว่างข้อมูลบัญชีของแต่ละลูกค้า หรือการพัฒนาเกมที่มีการสร้างตัวละครต่าง ๆ ที่มีลักษณะเฉพาะตัวแต่ใช้ class เดียวกันในการกำหนดพื้นฐานของตัวละคร ทั้งหมดนี้ล้วนเป็นการใช้งานที่โชว์ให้เห็นศักยภาพของ class และ instance
การเข้าใจกระบวนการทำงานของ class และ instance เป็นก้าวแรกในการเป็นนักพัฒนาซอฟต์แวร์ ที่ EPT เราเชียวชาญในการสอนโปรแกรมมิ่งและพร้อมด้วยหลักสูตรที่จะทำให้คุณเข้าใจแนวคิดเหล่านี้ได้อย่างลึกซึ้ง ไม่ว่าคุณจะเป็นผู้เริ่มต้นที่หวังจะสร้างโอกาสใหม่ หรือนักพัฒนาที่ต้องการอัพเกรดทักษะของตัวเอง EPT พร้อมที่จะเป็นส่วนหนึ่งของการเติบโตทางอาชีพของคุณ มาสัมผัสประสบการณ์การเรียนรู้ที่จะปลดล็อคศักยภาพด้านการเขียนโค้ดของคุณกับเราที่ EPT วันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: dart class instance object-oriented_programming inheritance polymorphism programming_language oop constructor method_override subclass programming_concepts code_examples real-world_use ept
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM