Trong Swift, việc tạo lớp (class) và đối tượng (object) là những kỹ năng cơ bản và quan trọng trong lập trình hướng đối tượng. Điều này giúp bạn tổ chức code một cách hiệu quả hơn và tái sử dụng nhiều lần. Dưới đây là hướng dẫn cơ bản và chi tiết về cách thực hiện.
Khởi Tạo Lớp
Lớp trong Swift được khai báo bằng từ khóa class
, theo sau là tên lớp và thân lớp nằm trong dấu ngoặc nhọn {}
. Đây là một ví dụ đơn giản:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func describe() -> String {
return "Name: \(name), Age: \(age)"
}
}
Trong đoạn mã này, lớp Person
có hai thuộc tính là name
và age
, cùng với một hàm khởi tạo (init
) và một phương thức (describe
) để mô tả đối tượng.
Thuộc Tính và Phương Thức
- Thuộc tính: Là các biến được tạo trong một lớp. Ví dụ,
name
vàage
là các thuộc tính của lớpPerson
. - Phương thức: Là các hàm được định nghĩa trong một lớp, ví dụ, hàm
describe()
là một phương thức.
Khởi Tạo Đối Tượng
Để tạo một đối tượng từ lớp, bạn sử dụng cú pháp khởi tạo thông qua phương thức khởi tạo (init
). Ví dụ:
let person1 = Person(name: "John", age: 30)
Trong ví dụ này, person1
là một đối tượng của lớp Person
với tên là "John" và tuổi là 30.
Sử Dụng Đối Tượng
Khi đã có đối tượng, bạn có thể truy cập và thay đổi thuộc tính, hoặc gọi phương thức của đối tượng đó. Ví dụ:
print(person1.describe()) // Output: Name: John, Age: 30
// Thay đổi thuộc tính
person1.name = "Jane"
person1.age = 25
print(person1.describe()) // Output: Name: Jane, Age: 25
Kế Thừa Trong Swift
Swift cũng cho phép tạo các lớp con từ lớp cha, giúp bạn mở rộng và tái sử dụng mã nguồn. Để kế thừa, bạn sử dụng cú pháp :
, theo sau là tên lớp cha. Ví dụ:
class Employee: Person {
var jobTitle: String
init(name: String, age: Int, jobTitle: String) {
self.jobTitle = jobTitle
super.init(name: name, age: age)
}
override func describe() -> String {
return super.describe() + ", Job Title: \(jobTitle)"
}
}
Lớp Employee
kế thừa từ lớp Person
và thêm thuộc tính jobTitle
. Ngoài ra, phương thức describe
cũng được ghi đè (override) để cung cấp thêm thông tin.
Tạo Đối Tượng Từ Lớp Kế Thừa
let employee1 = Employee(name: "Alice", age: 28, jobTitle: "Developer")
print(employee1.describe()) // Output: Name: Alice, Age: 28, Job Title: Developer
Như vậy, bạn có thể tạo đối tượng từ lớp con và sử dụng mọi thuộc tính và phương thức đã kế thừa từ lớp cha, cùng với những phần mở rộng mới.
Tổng Kết
Swift cung cấp các công cụ mạnh mẽ cho lập trình hướng đối tượng thông qua việc sử dụng lớp và đối tượng. Khả năng tạo lớp với thuộc tính và phương thức, khởi tạo đối tượng, và kế thừa giúp bạn viết mã nguồn rõ ràng, tổ chức tốt hơn và dễ dàng mở rộng. Việc nắm vững các khái niệm này sẽ giúp bạn phát triển các ứng dụng Swift hiệu quả và dễ bảo trì.
Comments