# การใช้งาน class และ instance ในภาษา Objective-C แบบง่ายๆ พร้อมตัวอย่าง CODE
Objective-C เป็นภาษาโปรแกรมมิ่งที่พัฒนาโดยบริษัท Apple สำหรับการพัฒนาแอพพลิเคชันบนระบบปฏิบัติการ iOS และ macOS. คอนเซปต์ในการเขียนโปรแกรมที่สำคัญอย่างหนึ่งใน Objective-C คือ “คลาส (Class)” และ “อินสแตนซ์ (Instance)”. คลาสคือบลูพริ้นต์หรือโครงสร้างหลักที่บอกข้อมูลและพฤติกรรมที่ออบเจ็กต์ประเภทนั้นๆ ควรจะมี ส่วนอินสแตนซ์คือการสร้างออบเจ็กต์จากคลาสนั้นๆ
วันนี้เราจะมาดูที่การทำงานของ class และ instance ใน Objective-C และรู้จักรูปแบบการใช้งานในโลกจริง พร้อมด้วยตัวอย่าง code สามตัวอย่าง ซึ่งสามารถนำไปประยุกต์ใช้กับงานการเรียนการสอนที่ EPT ได้เป็นอย่างดี
ใน Objective-C คลาสมักแทนที่ออบเจ็กต์ เช่น รถยนต์, คน, หรือบัญชีธนาคาร. วันนี้เราจะเริ่มจากคลาสง่ายๆ คือ คลาส `Car`.
#import
// Car.h นิยามคลาส Car
@interface Car : NSObject
@property (nonatomic, strong) NSString* brand;
@property (nonatomic) NSInteger* yearOfManufacture;
- (void)drive;
@end
// Car.m นิยามการทำงานของคลาส Car
@implementation Car
- (void)drive {
NSLog(@"%@ made in %ld is driving.", self.brand, (long)self.yearOfManufacture);
}
@end
และนี่คือวิธีการสร้างอินสแตนซ์จากคลาส `Car`.
Car *myCar = [[Car alloc] init];
myCar.brand = @"Toyota";
myCar.yearOfManufacture = 2020;
[myCar drive];
คำสั่งข้างต้นจะแสดงข้อความ "Toyota made in 2020 is driving." ลงบนคอนโซล.
Objective-C ช่วยให้คุณสามารถสืบทอดคลาสได้. สมมติว่าเรามี ElectricCar ที่สืบทอดมาจาก Car:
// ElectricCar.h
#import "Car.h"
@interface ElectricCar : Car
@property (nonatomic) NSInteger batteryLevel;
- (void)recharge;
@end
// ElectricCar.m
#import "ElectricCar.h"
@implementation ElectricCar
- (void)recharge {
NSLog(@"Recharging the electric car...");
}
- (void)drive {
[super drive];
NSLog(@"Running on electricity with battery level at %ld%%.", (long)self.batteryLevel);
}
@end
การใช้งานทั้งหมดยังคงเหมือนเดิม แต่ตอนนี้ `ElectricCar` มีความสามารถพิเศษขึ้น เช่น การชาร์จแบตเตอรี่:
ElectricCar *myElectricCar = [[ElectricCar alloc] init];
myElectricCar.brand = @"Tesla";
myElectricCar.yearOfManufacture = 2021;
myElectricCar.batteryLevel = 80;
[myElectricCar recharge];
[myElectricCar drive];
Objective-C รองรับ Polymorphism, ซึ่งหมายความว่าอินสแตนซ์ของ subclass สามารถถูกจัดการเหมือนเป็นอินสแตนซ์ของ superclass:
Car *someCar;
ElectricCar *someElectricCar = [[ElectricCar alloc] init];
someCar = someElectricCar; // ถูกต้องเพราะ ElectricCar เป็น subclass ของ Car
[someCar drive]; // เรียกใช้ฟังก์ชัน drive ของ ElectricCar
ตัวอย่างของการใช้งาน class และ instance ใน Objective-C นั้นหลากหลาย ตั้งแต่การจัดการกับ data models ในแอพพลิเคชัน, การสร้าง UI components และการจัดการกับการทำงานของแอพฯ เช่น การสร้าง ViewController ในีการทำงานปัญหาทางอัลกอริทึม และการเขียนวิทยาการคอมพิวเตอร์ที่มีความซับซ้อน.
สุดท้ายนี้, หากคุณต้องการศึกษาเกี่ยวกับ Objective-C และการใช้งาน class และ instance อย่างลึกซึ้งยิ่งขึ้น, EPT (Expert-Programming-Tutor) เป็นที่ที่คุณสามารถพัฒนาทักษะการโปรแกรมของคุณได้อย่างมืออาชีพที่สุด. เรียนรู้จากผู้เชี่ยวชาญ และนำความคิดเห็นเชิงวิเคราะห์มาปรับใช้กับโค้ดของคุณ เพื่อสร้างผลงานที่โดดเด่นกว่าใคร. สมัครเรียนกับเราวันนี้!
การเรียนรู้เกี่ยวกับ class และ instance ใน Objective-C เป็นสิ่งสำคัญยิ่งในการเข้าใจพื้นฐานของการสร้างแอพพลิเคชันในโลก iOS และ Mac. ด้วยตัวอย่างข้างต้นนี้, คุณควรได้พื้นฐานเบื้องต้นที่จะนำไปต่อยอด และอย่าลืมว่าการเรียนรู้ไม่มีที่สิ้นสุด - มันเป็นการทำความเข้าใจที่กว้างขวางและลึกซึ้งยิ่งขึ้นเพื่อพัฒนาความสามารถในการโปรแกรมของคุณ. หากคุณสนใจ, EPT พร้อมจะช่วยเหลือคุณทุกขั้นตอน.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: objective-c class instance inheritance polymorphism programming ios macos code_examples ept object-oriented_programming data_models ui_components algorithm computer_science
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM