Rate this post

Các lớp trong Swift tương tự như các Cấu trúc trong Swift. Đây là những khối xây dựng của cấu trúc linh hoạt. Bạn có thể xác định các thuộc tính và phương thức của lớp như hằng số, biến và hàm được định nghĩa. Trong Swift 4, bạn không cần tạo giao diện hoặc tệp thực thi trong khi khai báo các lớp. Swift 4 tạo điều kiện cho bạn tạo các lớp dưới dạng một tệp duy nhất và các giao diện bên ngoài sẽ được tạo theo mặc định khi lớp được khởi tạo. Hôm nay các bạn hãy cùng W3seo tìm hiểu về class trong Swift.

Giới thiệu về class trong Swift

Class là một khái niệm quan trọng trong ngôn ngữ lập trình Swift. Nó là một kiểu dữ liệu tự định nghĩa cho phép bạn tạo ra các đối tượng (objects) có thuộc tính (properties) và hành vi (methods) riêng.

Trong lập trình hướng đối tượng, class được coi là một mẫu (blueprint) để tạo ra các đối tượng. Nó mô tả các đặc điểm và hành vi chung của một nhóm đối tượng. Class định nghĩa các thuộc tính để lưu trữ dữ liệu và các phương thức để thực hiện các hoạt động trên dữ liệu đó.

Một class có thể có các thuộc tính, phương thức, khởi tạo (initializer) và nhiều tính năng khác. Nó cung cấp tính chất kế thừa, cho phép tạo ra các class con (subclass) dựa trên một class cha (superclass) đã tồn tại. Điều này giúp tái sử dụng mã nguồn, mở rộng tính năng và tạo ra các hiệu ứng đa hình.

Class trong Swift được khai báo bằng cách sử dụng từ khóa “class”, sau đó là tên class và một cặp dấu ngoặc nhọn chứa nội dung của class.

Dưới đây là một ví dụ đơn giản về khai báo một class trong Swift:

class Person {
    var name: String
    var age: Int
    
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
    
    func sayHello() {
        print("Hello, my name is \(name) and I'm \(age) years old.")
    }
}

Trong ví dụ trên, class “Person” có hai thuộc tính “name” và “age” để lưu trữ thông tin về tên và tuổi của một người. Nó cũng có một phương thức “sayHello()” để in ra một thông báo chào hỏi.

Khi đã khai báo class, bạn có thể tạo ra các đối tượng từ class đó bằng cách sử dụng khởi tạo (initializer). Ví dụ:

let person = Person(name: "John", age: 25)
person.sayHello() // In ra: "Hello, my name is John and I'm 25 years old."

Tóm lại, class trong Swift cho phép bạn tạo ra các đối tượng với thuộc tính và hành vi riêng biệt. Nó là một khái niệm quan trọng trong lập trình hướng đối tượng và đóng vai trò quan trọng trong việc xây dựng ứng dụng phức tạp.

Xem thêm Domain name là gì?

Khai báo và sử dụng Class

Để khai báo và sử dụng một class trong Swift, bạn có thể làm theo các bước sau:

  1. Khai báo Class: Sử dụng từ khóa “class” và tên của class để khai báo class mới. Bên trong class, bạn có thể khai báo thuộc tính (properties) và phương thức (methods) cho class đó.
class Person {
    var name: String
    var age: Int
    
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
    
    func sayHello() {
        print("Hello, my name is \(name) and I'm \(age) years old.")
    }
}

Trong ví dụ trên, chúng ta khai báo class “Person” với hai thuộc tính là “name” và “age”, cùng với một phương thức “sayHello()” để in ra thông tin.

  1. Tạo đối tượng từ Class: Để tạo một đối tượng (object) từ class, bạn cần sử dụng khởi tạo (initializer) của class đó. Trong ví dụ dưới đây, chúng ta tạo một đối tượng “person” từ class “Person” và truyền vào các giá trị cho thuộc tính của đối tượng.
let person = Person(name: "John", age: 25)
  1. Truy cập thuộc tính và phương thức của đối tượng: Bạn có thể truy cập và sử dụng các thuộc tính và phương thức của đối tượng thông qua tên của đối tượng kết hợp với dấu chấm “.”.
let person = Person(name: "John", age: 25)
person.sayHello() // In ra: "Hello, my name is John and I'm 25 years old."

let total = Person.totalPersons() // Tr

Trong ví dụ trên, chúng ta truy cập thuộc tính “name” của đối tượng “person” để in ra tên của người đó. Sau đó, chúng ta gọi phương thức “sayHello()” để in ra thông báo chào hỏi.

Đây là cách khai báo và sử dụng một class trong Swift. Bạn có thể tạo ra nhiều đối tượng từ class và sử dụng chúng để thực hiện các hoạt động tương ứng.

Xem thêm class trong html

Kế thừa và đa hình trong Class

Trong lập trình hướng đối tượng, kế thừa (inheritance) và đa hình (polymorphism) là hai khái niệm quan trọng liên quan đến class. Hãy cùng tìm hiểu chi tiết về chúng trong ngôn ngữ lập trình Swift.

  1. Kế thừa (Inheritance): Kế thừa cho phép bạn xây dựng một class mới (gọi là subclass hoặc derived class) dựa trên một class đã tồn tại (gọi là superclass hoặc base class). Subclass có thể kế thừa các thuộc tính và phương thức từ superclass, và cũng có thể mở rộng hoặc thay đổi chúng. Kế thừa giúp tái sử dụng mã nguồn, tạo ra mối quan hệ phân cấp giữa các class và xử lý các đối tượng theo một cấu trúc hợp lý.

Trong Swift, để khai báo một subclass, bạn sử dụng từ khóa “class” theo sau là tên subclass, dấu hai chấm “:” và tên của superclass mà subclass kế thừa từ đó.

Ví dụ:

class Vehicle {
    var brand: String
    
    init(brand: String) {
        self.brand = brand
    }
    
    func drive() {
        print("Driving the \(brand)")
    }
}

class Car: Vehicle {
    var numberOfDoors: Int
    
    init(brand: String, numberOfDoors: Int) {
        self.numberOfDoors = numberOfDoors
        super.init(brand: brand)
    }
    
    override func drive() {
        super.drive()
        print("Car is driving with \(numberOfDoors) doors")
    }
}

Trong ví dụ trên, class “Vehicle” là superclass, và class “Car” là subclass của nó. Class “Car” kế thừa thuộc tính “brand” và phương thức “drive()” từ class “Vehicle”, nhưng cũng có thêm thuộc tính “numberOfDoors” và override lại phương thức “drive()” để thêm chức năng đặc biệt cho class “Car”.

  1. Đa hình (Polymorphism): Đa hình là khả năng của một đối tượng để hiển thị nhiều hình dạng hoặc hành vi khác nhau, tùy thuộc vào ngữ cảnh sử dụng. Trong lập trình hướng đối tượng, đa hình cho phép chúng ta sử dụng một biến hoặc tham chiếu kiểu superclass để lưu trữ và truy cập các đối tượng của các subclass khác nhau.

Ví dụ:

let vehicle: Vehicle = Car(brand: "Toyota", numberOfDoors: 4)
vehicle.drive()

Trong ví dụ trên, biến “vehicle” được khai báo với kiểu là “Vehicle”.

Xem thêm Route name trong Laravel

Thuộc tính và phương thức trong Class

Trong class của Swift, bạn có thể khai báo và sử dụng thuộc tính (properties) và phương thức (methods) để lưu trữ và xử lý dữ liệu. Dưới đây là một số thông tin về thuộc tính và phương thức trong class:

  1. Thuộc tính (Properties):
    • Thuộc tính lưu trữ dữ liệu và thông tin liên quan đến đối tượng của class.
    • Bạn có thể khai báo thuộc tính là var (biến có thể thay đổi giá trị) hoặc let (hằng số không thể thay đổi giá trị).
    • Thuộc tính có thể có giá trị mặc định.
    • Bạn có thể định nghĩa thuộc tính tính (computed property) để tính toán giá trị dựa trên giá trị của các thuộc tính khác.
    • Ví dụ:
class Person {
    var name: String
    var age: Int
    
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
    
    var introduction: String {
        return "My name is \(name) and I'm \(age) years old."
    }
}
  1. Phương thức (Methods):
    • Phương thức thực hiện các hành động và xử lý dữ liệu của class.
    • Bạn có thể khai báo phương thức để thực hiện một loạt các hành động và tính toán.
    • Phương thức có thể nhận các tham số đầu vào và trả về một giá trị (nếu cần).
    • Bạn có thể định nghĩa phương thức lớp (class method) bằng cách sử dụng từ khóa “class” trước định nghĩa phương thức.
    • Ví dụ:
class Person {
    var name: String
    var age: Int
    
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
    
    func sayHello() {
        print("Hello, my name is \(name) and I'm \(age) years old.")
    }
    
    class func totalPersons() -> Int {
        return 10
    }
}

Trong ví dụ trên, class “Person” có phương thức “sayHello()” để in ra một thông báo chào hỏi và phương thức lớp “totalPersons()” trả về số lượng người.

Bạn có thể sử dụng các thuộc tính và phương thức này bằng cách tạo đối tượng từ class và gọi các phương thức hoặc truy cập các thuộc tính của đối tượng đó.

let person = Person(name: "John", age: 25)
person.sayHello() // In ra: "Hello, my name is John and I'm 25 years old."

let total = Person.totalPersons() // Tr

Sau khi có giá trị của biến “total” từ phương thức lớp “totalPersons()”, bạn có thể sử dụng giá trị đó theo nhu cầu của mình. Dưới đây là một ví dụ:

print("Total persons: \(total)") // In ra: "Total persons: 10"

Trong ví dụ trên, chúng ta in ra giá trị của biến “total” để hiển thị tổng số người.

Ngoài ra, trong class của Swift, bạn cũng có thể sử dụng các loại phương thức khác như phương thức khởi tạo (initializer), phương thức hủy (deinitializer) và các phương thức đặc biệt như phương thức subscript để truy cập vào các thành phần của class một cách thuận tiện.

Dưới đây là một ví dụ khác về sử dụng phương thức khởi tạo:

class Rectangle {
    var width: Double
    var height: Double
    
    init(width: Double, height: Double) {
        self.width = width
        self.height = height
    }
    
    func calculateArea() -> Double {
        return width * height
    }
}

let rectangle = Rectangle(width: 5.0, height: 3.0)
let area = rectangle.calculateArea()
print("Area: \(area)") // In ra: "Area: 15.0"

Trong ví dụ trên, class “Rectangle” có thuộc tính “width” và “height” để lưu trữ chiều rộng và chiều cao của hình chữ nhật, và phương thức “calculateArea()” để tính diện tích của hình chữ nhật đó.

Đó là một số thông tin về thuộc tính và phương thức trong class của Swift. Bạn có thể tận dụng tính linh hoạt của class để xây dựng các đối tượng và thực hiện các thao tác phù hợp trong ứng dụng của mình.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now