Tìm hiểu lập trình hướng đối tượng (OOP)-3

Trong phần này ta sử dụng các ví dụ bằng Java để mô tả lại các phần đã đi qua với class

Định nghĩa lớp

Lớp được định nghĩa bởi

class class_name {

}

Ví dụ:

class MyDate {

}

Thuộc tính, phương thức và kiểm soát truy cập

class MyDate {

private int year, mon, day;

public int getYear() {

return year;

}

public boolean setYear(int y) {

}

}

Phương thức khởi tạo (constructor)
Dữ liệu nên được khởi tạo trước khi sử dụng

Phương thức khởi tạo

* Là phương thức đặc biệt được gọi tự động sau khi tạo ra đối tượng
* Nhằm mục đích chính là khởi tạo cho các thuộc tính của đối tượng
* Có tên trùng với tên lớp
* Không nhận giá trị trả lại
* Mỗi khi đối tượng được tạo ra bởi toán tử new
* Hệ thống sẽ gọi phương thức tạo constructor mặc định => là một phương thức rỗng (không làm gì cả)

Ví dụ: Constructor rỗng

class SayMsg {

}

SayMsg msg = new SayMsg();

class SayMsg {

SayMsg() {

System.out.println(”Hello”);

}

SayMsg(String s) {

System.out.println(s);

}

}


SayMsg msg1 = new SayMsg();
SayMsg msg2 = new SayMsg(”Java”);

Lưu ý: nếu phương thức tạo mặc định SayMsg() không được khai báo và trong class cũng không khai báo thêm phương thức tạo nào khác thì với câu lệnh “SayMsg msg1 = new SayMsg();” hệ thống sẽ tự động gọi đến phương thức tạo mặc định. Nhưng nếu trong class không khai báo phương thức tạo mặc định mà có khai báo một phương thức tạo khác (vd: SayMsg(String s){…}) thì câu lệnh “SayMsg msg1 = new SayMsg();” sẽ bị báo lỗi ngay

Ta có thêm một dạng phương thức tạo khác, đó là khởi tạo đối tượng từ một đối tượng khác

public class MyItem {

private int attribute;

public MyItem () {…}

public MyItem (MyItem i) {

// khởi tạo đối tượng từ một đối tượng cùng lớp khác

attribute= i.getAttribute();

}

public int getAttribute(){

return attribute;

}

}

  1. Để lại bình luận

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: