Menu
CoddyTech

Lớp và đối tượng

Thuộc phần Lập trình hướng đối tượng trong hành trình Dart của Coddy. Bài học 4 trên 110.

Lớp và đối tượng phục vụ những mục đích khác nhau. Lớp là bản thiết kế, còn đối tượng là thứ bạn tạo ra từ bản thiết kế đó.

Đây là ví dụ về một lớp có các biến instance:

class Dog {
  String name = '';
  String breed = '';
}

Các biến được khai báo bên trong một lớp (như name và breed) thuộc về từng đối tượng được tạo từ lớp đó. Chúng ta sẽ tìm hiểu sâu hơn về biến instance sau.

Tạo nhiều đối tượng từ cùng một lớp:

Dog dog1 = Dog();
Dog dog2 = Dog();

Mỗi đối tượng có thể có các giá trị riêng cho những biến đó:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

Dùng toán tử chấm . để truy cập các biến của đối tượng:

print('${dog1.name} is a ${dog1.breed}');
print('${dog2.name} is a ${dog2.breed}');

Đầu ra:

Nicky is a Siberian Husky
Teemon is a Labrador

Điểm khác biệt chính: Lớp Dog định nghĩa cấu trúc chung của tất cả các chú chó, còn dog1 và dog2 là các đối tượng riêng biệt với dữ liệu độc nhất của riêng chúng.

challenge icon

Thử thách

Dễ

Hoàn thiện code để tạo hai đối tượng học sinh từ lớp Student và đặt các biến cho chúng.

  • student.dart: Chứa lớp Student (đã khóa)
  • driver.dart: Tạo hai đối tượng và đặt dữ liệu cho chúng

Đặt các giá trị sau:

  • student1: tên là 'Alice' và điểm là 'A'
  • student2: tên là 'Bob' và điểm là 'B'

Tự làm thử

import 'student.dart';

void main() {
  // TODO: Tạo hai đối tượng Student


  // TODO: Gán name và grade cho student1 (name: 'Alice', grade: 'A')


  // TODO: Gán name và grade cho student2 (name: 'Bob', grade: 'B')


  print('${student1.name} has grade ${student1.grade}');
  print('${student2.name} has grade ${student2.grade}');
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Dart online