Trong Objective-C, một “structure” thường được gọi là “struct” và được sử dụng để đóng gói một nhóm các biến có các kiểu dữ liệu cơ bản lại với nhau. Tuy nhiên, nó không được sử dụng rộng rãi như lớp (class) trong lập trình hướng đối tượng Objective-C. Dưới đây là một tổng quan về cách sử dụng struct trong Objective-C:
Mục Lục
1. Khai Báo Struct:
Khai báo một struct giống như sau:
struct MyStruct {
int age;
float height;
NSString *name;
};
2. Khởi Tạo và Truy Cập Đối Tượng Struct:
// Khởi tạo một đối tượng struct
struct MyStruct person;
// Gán giá trị cho các trường
person.age = 25;
person.height = 175.5;
person.name = @"John Doe";
// Truy cập giá trị
NSLog(@"Age: %d, Height: %.1f, Name: %@", person.age, person.height, person.name);
3. Typedef cho Struct:
Để làm cho cú pháp đặt tên struct trở nên thuận tiện hơn, bạn có thể sử dụng typedef
:
typedef struct {
int age;
float height;
NSString *name;
} MyStruct;
Sau đó, bạn có thể sử dụng MyStruct
như một kiểu dữ liệu:
MyStruct person;
person.age = 30;
// ...
4. Tính Đóng Gói Dữ Liệu:
Structs thường được sử dụng để đóng gói các trường dữ liệu có liên quan với nhau vào một đối tượng đơn.
5. Không Hỗ Trợ Kế Thừa và Đa Hình:
Khác với lớp, struct không hỗ trợ tính kế thừa và đa hình.
6. Sử Dụng Struct Trong Lớp:
Struct có thể được sử dụng như một thành phần của một lớp:
@interface MyObject : NSObject
@property (nonatomic, assign) MyStruct myStruct;
@end
7. Swift và Struct:
Trong ngôn ngữ lập trình Swift, struct được sử dụng phổ biến hơn và có nhiều tính năng mạnh mẽ hơn so với Objective-C.
struct Person {
var age: Int
var height: Float
var name: String
}
var person = Person(age: 25, height: 175.5, name: "John Doe")
Tóm lại, trong Objective-C, struct thường được sử dụng khi cần đóng gói một số biến có kiểu dữ liệu cơ bản vào một đối tượng đơn. Tuy nhiên, khi làm việc với lập trình hướng đối tượng, lớp (class) thường được ưu tiên hơn.
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