- Bài 1: Tổng quan ngôn ngữ Swift
- Bài 2: Hướng dẫn cài đặt Xcode và chạy một playground
- Bài 3: Những cú pháp cơ bản trong swift
- Bài 4: Kiểu dữ liệu
- Bài 5: Toán tử trong ngôn ngữ lập trình Swift
- Bài 6: Câu lệnh rẽ nhánh trong swift – Decision Making
- Bài 7: Chuỗi ký tự trong Swift - Character và String
- Bài 8: Vòng lặp trong swift – Loops
- Bài 9: Mảng Array trong swift
- Bài 10: Dictionary trong swift
- Bài 11: Optional trong Swift
- Bài 12: Functions trong swift
- Bài 13: Closure trong swift
- Bài 14: Enumeration trong swift
- Bài 15: Struct trong swift
- Bài 16: Classes trong swift
- Bài 17: Properties trong swift
- Bài 18: Methods trong swift
- Bài 19: Subscripts trong swift
- Bài 20: Inheritance trong swift
- Bài 21: Initialization trong swift
- Bài 22: Deinitialization trong swift
- Bài 23: ARC trong swift
- Bài 24: Type casting trong swift
- Bài 25: Extensions trong swift
- Bài 26: Protocols trong swift
- Bài 27: Generics trong swift
- Bài 28: Access control trong swift
Bài 20: Inheritance trong swift - Lập trình Swift cơ bản
Đăng bởi: Admin | Lượt xem: 2804 | Chuyên mục: Swift
Khái niệm
Một class được gọi là class con khi kế thừa mọi phương thức, thuộc tính, đặc điểm của một class khác ( hay có thể gọi là class cha).
Trong ngôn ngữ lập trình Swift, class con có thể truy xuất và gọi những đặc điểm, thuộc tính và subscript thuộc về class cha cũng như cung cấp các phương thức để hoàn thiện và thay đổi hành vi của chúng.
Định nghĩa class cơ sở (Base class)
Class cơ sở hay Base class là những class không kế thừa bất kỳ phương thức, đặc điểm hay thuộc tính của những class khác.
Bạn có thể xem thêm ví dụ dưới đây để hiểu thêm nhé:
Bạn có thể xem thêm ví dụ dưới đây để hiểu thêm nhé:
class Vehicle {
var currentSpeed = 0.0
var description: String {
return "traveling at \(currentSpeed) miles per hour"
}
func makeNoise() {
// do nothing - an arbitrary vehicle doesn't necessarily make a noise
}
}
Bạn có thể tạo một thể hiện của class Vehicle như sau:
- let someVehicle = Vehicle()
Class con (Subclass)
Class con sẽ kế thừa những đặc tính của class cha và cũng có thể định nghĩa thêm những đặc tính của riêng mình.
Bạn có thể xem thêm ví dụ dưới đây để hiểu thêm nhé:
Bạn có thể xem thêm ví dụ dưới đây để hiểu thêm nhé:
class Bicycle: Vehicle {
var hasBasket = false
}
Khai báo một thể hiện:
let bicycle = Bicycle().bicycle.hasBasket = true
Ghi đè (Overriding)
Để ghi đè phương thức lên class cha thì bạn cần thêm tiền tố override đứng trước func trong phương thức bạn muốn override.
let train = Train()
train.makeNoise()
// Prints "Choo Choo"Truy xuất đặc điểm, thuộc tính, phương thức và subscript của class cha.
Khi bạn thực hiện việc ghi đè một thuộc tính, phương thức hoặc subscript cho một class con.
- Để truy xuất những thuộc tính của class cha bạn sử dụng từ khóa super:
super.someProperty
super.someMethod()
super[someIndex]
//Ghi đè một phương thức: Một instance method hoặc type method đều có thể ghi đè để
cung cấp hay thay thế bên trong class con của bạn.
Ví dụ bên dưới định nghĩa một class con của Vehicle gọi là Train:
class Train: Vehicle {
override func makeNoise() {
print("Choo Choo")
}
}
Nếu bạn tạo một thể hiện của Train và gọi phương thức makeNoise bạn có thể thấy phương thức được gọi ở class con là:
let train = Train()
train.makeNoise()
// Prints "Choo Choo"
Ghi đè một thuộc tính
Để thiết lập và truy xuất giá trị của thuộc tính, lập trình viên có thể ghi đè một thuộc tính và cung cấp các phương thức setter và getter
Ngăn chặn việc ghi đè
Để ngăn chặn việc ghi đè thuộc tính, phương thức và subscript từ một class khác lập trình viên chỉ cần thêm tiền tố final đằng trước thuộc tính, phương thức và subscript.
Khi đó, bất kỳ một nỗ lực để ghi đè thuộc tính, phương thức và subscript từ class con sẽ phát sinh error.
Bạn có thể đánh dấu toàn bộ một class là không được phép kế thừa thì bạn có thể sử dụng từ khóa final lúc định nghĩa class đó.
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Tổng quan ngôn ngữ Swift
- Bài 2: Hướng dẫn cài đặt Xcode và chạy một playground
- Bài 3: Những cú pháp cơ bản trong swift
- Bài 4: Kiểu dữ liệu
- Bài 5: Toán tử trong ngôn ngữ lập trình Swift
- Bài 6: Câu lệnh rẽ nhánh trong swift – Decision Making
- Bài 7: Chuỗi ký tự trong Swift - Character và String
- Bài 8: Vòng lặp trong swift – Loops
- Bài 9: Mảng Array trong swift
- Bài 10: Dictionary trong swift
- Bài 11: Optional trong Swift
- Bài 12: Functions trong swift
- Bài 13: Closure trong swift
- Bài 14: Enumeration trong swift
- Bài 15: Struct trong swift
- Bài 16: Classes trong swift
- Bài 17: Properties trong swift
- Bài 18: Methods trong swift
- Bài 19: Subscripts trong swift
- Bài 20: Inheritance trong swift
- Bài 21: Initialization trong swift
- Bài 22: Deinitialization trong swift
- Bài 23: ARC trong swift
- Bài 24: Type casting trong swift
- Bài 25: Extensions trong swift
- Bài 26: Protocols trong swift
- Bài 27: Generics trong swift
- Bài 28: Access control trong swift