Trong Objective-C, một lớp (class) là một cấu trúc cơ bản để tạo đối tượng (object). Lớp đóng gói dữ liệu và hành vi liên quan vào một đối tượng duy nhất. Dưới đây là một tổng quan về cách khai báo và sử dụng lớp trong Objective-C:
Mục Lục
1. Khai Báo Lớp:
Khai báo một lớp thường bao gồm hai phần chính: Interface và Implementation.
Interface:
// MyClass.h - File tiêu đề
#import <Foundation/Foundation.h>
@interface MyClass : NSObject
// Thuộc tính (properties)
@property (nonatomic, strong) NSString *name;
@property (nonatomic, assign) NSInteger age;
// Phương thức (methods)
- (void)printInfo;
@end
Implementation:
// MyClass.m - File triển khai
#import "MyClass.h"
@implementation MyClass
// Implement các phương thức
- (void)printInfo {
NSLog(@"Name: %@, Age: %ld", self.name, (long)self.age);
}
@end
2. Tạo Đối Tượng:
// Tạo đối tượng
MyClass *myObject = [[MyClass alloc] init];
// Thiết lập thuộc tính
myObject.name = @"John";
myObject.age = 30;
// Gọi phương thức
[myObject printInfo];
3. Kế Thừa và Đa Hình (Inheritance and Polymorphism):
Objective-C hỗ trợ kế thừa và đa hình. Bạn có thể kế thừa từ một lớp khác và override các phương thức.
// Lớp con kế thừa từ lớp cha
@interface MySubClass : MyClass
// Thêm các thuộc tính hoặc phương thức mới
@end
@implementation MySubClass
// Cài đặt các phương thức hoặc thêm phương thức mới
@end
4. Tính Đóng Gói (Encapsulation):
Objective-C hỗ trợ tính đóng gói thông qua việc sử dụng thuộc tính (properties) để ẩn chi tiết triển khai của biến instance.
5. Thiết Lập Tuân Thủ Giao Thức (Adopting Protocols):
Giao thức (protocols) trong Objective-C giúp định nghĩa một tập hợp các phương thức mà một lớp có thể hoặc cần phải triển khai.
// Định nghĩa một giao thức
@protocol MyProtocol
- (void)doSomething;
@end
// Một lớp triển khai giao thức
@interface MyProtocolClass : NSObject <MyProtocol>
@end
6. ARC (Automatic Reference Counting):
Objective-C sử dụng ARC để quản lý bộ nhớ tự động, giảm gánh nặng cho lập trình viên khi quản lý bộ nhớ.
7. Tính Đa Hình Động (Dynamic Polymorphism):
Objective-C hỗ trợ đa hình động thông qua sử dụng các đối tượng có kiểu id.
// Đa hình động
id dynamicObject = myObject;
[dynamicObject printInfo]; // Gọi phương thức dựa trên đối tượng thực sự được gán vào dynamicObject
8. Category và Extension:
Objective-C cho phép sử dụng Category và Extension để mở rộng hoặc thêm phương thức cho một lớp mà không cần sửa đổi mã nguồn gốc.
Đây chỉ là một số khía cạnh cơ bản của lớp trong Objective-C. Lớp là một khái niệm quan trọng trong lập trình hướng đối tượng và giúp tổ chức mã nguồn một cách có tổ chức và dễ quản lý.
Xin chào,
99,99% bài viết tại website là kết quả của khai thác dữ liệu từ AI ChatGPT sau đó được lựa chọn, biên tập lại nội dung, chỉ vài bài là không dùng AI. Tôi lưu tại website này để tra cứu khi cần, để học và để chia sẻ cho bạn bè tôi. Nếu bạn tìm thấy nội dung nào đó khi tìm kiếm thì cứ đọc thoải mái, nó miễn phí, không quảng cáo.
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh