×

Tạo lớp (class) và đối tượng (object) trong Swift

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à nameage, 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ụ, nameage là các thuộc tính của lớp Person.
  • 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