Nội dung Khai báo lớp đơn giản Đối tượng Phạm vi truy xuất thành phần lớp Đối tượng this Phương thức khởi tạo Thành phần tĩnh Thành phần hằng... Khai báo lớp đơn giản {2} K
Trang 1Lớp và Đối tượng
dqtk4c65@gmail.com
Trang 2Nội dung
Khai báo lớp đơn giản
Đối tượng
Phạm vi truy xuất thành phần lớp
Đối tượng this
Phương thức khởi tạo
Thành phần tĩnh
Thành phần hằng
Trang 31 Khai báo lớp đơn giản
Trang 41 Khai báo lớp đơn giản {2}
Khai báo phương thức:
Kiểu tênPhươngThức(ds Tham số)
{
Các lệnh của phương thức;
return kếtQuả;
}
Trang 51 Khai báo lớp đơn giản {3}
Ví dụ: khai báo lớp phân số đơn giản
Trang 62 Đối tượng
Đối tượng được tạo từ lớp theo cú pháp:
new TênLớp();
• Ví dụ: new PS();
là Heap.
Trang 7• Tham chiếu đến đối tượng:
tênThamChiếu = new TênLớp();
• Ví dụ: p = new PS();
• Phép gán tham chiếu:
tênThamChiếu1 = tênThamChiếu2;
Trang 82 Đối tượng {3}
Thao tác với đối tượng qua tham chiếu:
• Thao tác với thuộc tính:
Trang 9 public: dùng chung tại mọi vị trí.
private: chỉ được truy xuất trong phạm vi của lớp.
Trang 10private int tu,mau;
public void hienThi() { … } }
Trang 12private int tu,mau;
public int layTu(){ return tu;}
public int layMau(){ return mau;}
public void ganTu(int t){ tu = t;}
public void ganMau(int m)
{ if (m>0) mau=m;}
}
Trang 154 Đối tượng this
Là đối tượng ngầm định khi viết mã lệnh các phương thức của một lớp
Ví dụ: trong lớp PS
class PS
{
private int tu, mau;
public void ganTu(int tu){ this.tu = tu; }
}
Trang 164 Đối tượng this {2}
Khi thực hiện:
PS p = new PS();
p.ganTu(5);
thì this chính là phân số p
Trang 175 Phương thức khởi tạo
PTKT (constructor) là phương thức đặc biệt dùng để khởi tạo giá trị các thuộc
tính của đối tượng khi mới được tạo ra
Phương thức khởi tạo ngầm định: khi
không khai báo phương thức khởi tạo
Chẳng hạn:
PS p = new PS(); Khi đó p=?
Trang 185 Phương thức khởi tạo {2}
Khai báo PTKT: tên PTKT trùng tên lớp
public TênLớp(ds tham số) {…}
Ví dụ: khai báo một số phương thức khởi tạo cho lớp PS
Trang 195 Phương thức khởi tạo {3}
class PS
{
private int tu, mau;
public PS() {tu = 0; mau = 1;}
public PS(int n) { tu=n; mau=1;}
public PS(int t, int m) { tu = t; mau = m;} public PS(PS p) { tu = p.tu; mau = p.mau;} }
Trang 205 Phương thức khởi tạo {4}
Sử dụng phương thức khởi tạo:
PS p1 = new PS(); // p1 = 0/1
PS p2 = new PS(5);// p2 = 5/1
PS p3 = new PS(5,7);// p3 = 5/7
PS p4 = new PS(p2);// p4 = 5/1
Trang 216 Thành phần tĩnh
Là những thành phần dùng chung cho
mọi đối tượng được tạo ra từ một lớp
Khai báo thuộc tính tĩnh
<phạm vi> static <kiểu dữ liệu> <tên thuộc
tính>
Khai báo phương thức tĩnh
<phạm vi> static <kiểu dữ liệu> <tên phương thức>(<danh sách tham số>)
Trang 256 Thành phần tĩnh {5}
Ví dụ:
class StaticClass
{
static int count=0;
private int data;
public StaticClass(int d){ data = d; count++;}
public void display(){ System.console.writeln("So doi tuong: "+ count + " du lieu= "+data); }
}
Trang 278 Thành phần hằng
Thành phần hằng là những thuộc tính có giá trị cố định trong một đối tượng
Trang 28Bài tập {1}
Bài 1: Cài đặt lớp NTN (ngày/tháng/năm)
Viết chương trình sử dụng lớp vừa định nghĩa:
n2=10/9/2007.
• So sánh hai ngày
Trang 30Bài tập {3}
cho có thể khởi tạo, gán giá trị, truy xuất đến từng phần tử, cộng, trừ, nhân các ma trận
Trang 31+ MATRAN cong(MATRAN m)
+ MATRAN tru(MATRAN m)