"OK. Lần trước chúng ta đã xử lý các lớp. Hôm nay, tôi muốn cho bạn biết cách tạo các đối tượng. Nó rất dễ. Bạn viết từ khóa new và sau đó là tên của lớp mà bạn muốn tạo một đối tượng."

Ví dụ
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"Tôi đã biết điều này."

"Tôi biết bạn làm. Hãy tiếp tục lắng nghe."

"Khi tạo một đối tượng, bạn có thể chuyển các đối số khác nhau bên trong dấu ngoặc đơn. Chúng ta sẽ nói thêm về điều đó sau ngày hôm nay. Bây giờ, hãy xem lớp Cat:"

mã Java Sự miêu tả
class Cat {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
tên là một biến thể hiện. Nó có một công cụ sửa đổi truy cập công khai, làm cho nó có thể nhìn thấy ở bất kỳ đâu trong dự án.

Phương thức getName là một phương thức getter. Nó trả về giá trị của tên biến thể hiện . Tên của phương thức được bắt nguồn từ từ 'get' cộng với tên của biến với chữ cái đầu viết hoa.

Phương thức setName là một setter. Nó được sử dụng để gán một giá trị mới cho tên biến thể hiện . Tên của phương thức được bắt nguồn từ từ 'set' cộng với tên của biến với chữ cái đầu viết hoa. Trong phương thức này, tham số có cùng tên với biến thể hiện,với điều này .

"Những getters và setters này là gì ?"

"Trong Java, thông thường ẩn các biến khỏi các lớp khác. Thông thường, các biến được khai báo bên trong các lớp có công cụ sửa đổi riêng. "

"Để cho phép các lớp khác thay đổi giá trị của các biến này, một cặp phương thức được tạo cho mỗi lớp: getset . Phương thức get trả về giá trị hiện tại của biến. Phương thức set đặt giá trị mới cho biến. "

"Và vấn đề là gì?"

"Nếu chúng tôi không muốn bất kỳ ai thay đổi giá trị của một biến thể hiện, chúng tôi có thể không tạo một phương thức đã đặt cho nó hoặc chúng tôi có thể đặt nó ở chế độ riêng tư . Chúng tôi cũng có thể thêm các kiểm tra dữ liệu bổ sung vào phương thức. Nếu giá trị mới được truyền không hợp lệ, sẽ không có gì thay đổi."

"Tôi hiểu rồi."

"Bởi vì một lớp có thể có rất nhiều biến, nên tên của các phương thức get và set thường bao gồm tên của biến mà chúng xử lý."

"Nếu một biến được gọi là 'tên', thì các phương thức sẽ được gọi là setNamegetName , v.v."

"Tôi hiểu rồi. Điều đó có vẻ khá hợp lý."

"Dưới đây là các ví dụ khác về cách làm việc với một đối tượng mới được tạo:"

Bước chân Mã số Sự miêu tả
1
new Cat();
Tạo một Catđối tượng
2
Cat catOscar = new Cat();
Lưu trữ một Catđối tượng trong biếncatOscar
3
catOscar.name = "Oscar";
catOscar.age = 6;
catOscar.weight = 4;
Điền dữ liệu vào đối tượng: tên, tuổi, cân nặng
4
catOscar.sleep();
Gọi một phương thức trên đối tượng
5
catOscar.fight(catSmudge);
Làm cho các đối tượng tương tác.

Đoạn trích bài giảng với người cố vấn trong khóa học của Đại học Codegym. Đăng ký cho khóa học đầy đủ.