Swift là một ngôn ngữ lập trình hướng đối tượng (OOP), có nghĩa là nó hỗ trợ và khuyến khích sử dụng các khái niệm và tính chất của lập trình hướng đối tượng. Dưới đây là một ví dụ đơn giản chứng minh sự hỗ trợ của Swift cho OOP thông qua việc sử dụng lớp (class) và đối tượng (object).
// Định nghĩa lớp Person
class Person {
var name: String
var age: Int
// Khởi tạo
init(name: String, age: Int) {
self.name = name
self.age = age
}
// Phương thức của lớp
func sayHello() {
print("Hello, my name is \(name) and I am \(age) years old.")
}
}
// Tạo đối tượng từ lớp Person
let person1 = Person(name: "John", age: 30)
let person2 = Person(name: "Alice", age: 25)
// Gọi phương thức của đối tượng
person1.sayHello()
person2.sayHello()
Trong ví dụ trên:
- Lớp
Person
: Đây là một lớp đơn giản đại diện cho một người, với các thuộc tínhname
vàage
. Nó có một phương thứcsayHello()
để giới thiệu bản thân. - Đối tượng
person1
vàperson2
: Hai đối tượng được tạo từ lớpPerson
, mỗi đối tượng có một tập hợp riêng của thuộc tínhname
vàage
. - Phương thức
sayHello()
: Đây là một phương thức của lớpPerson
mà các đối tượng của lớp này có thể gọi để hiển thị thông điệp giới thiệu.
Qua ví dụ này, bạn có thể thấy cách Swift sử dụng cú pháp OOP để định nghĩa lớp, tạo đối tượng, và gọi các phương thức của đối tượng. Điều này thể hiện sự hỗ trợ mạnh mẽ của Swift cho các khái niệm cơ bản của lập trình hướng đối tượng.
Xin chào,
Bài viết này sử dụng AI ChatGPT để viết sau đó được lựa chọn, biên tập lại nội dung, chỉ một phần nhỏ các bài là tôi tự viết. Nội dung thể hiện ý chí cá nhân về các vấn đề, giải pháp. Tôi lưu tại website này để học, tra cứu và chia sẻ.
Tôi là Minh, sống tại Hà Nội, kỹ sư phần mềm với hơn 20 năm kinh nghiệm. Các ngôn ngữ yêu thích của tôi là Swift, Objective-C, Java, Kotlin, .NET, HTML, JavaScript, CSS, Bootstrap, jQuery, AngularJS, Angular…
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