... tạo không đối
DIEM_DH*q; // Gọi hàm tạo không đối
int n;
234
Chương 7. Lớpvàđối tượng
CHƯƠNG 7
LỚP VÀĐỐI TƯỢNG
Lập trình có cấu trúc và lập trình hướng đốitượng
Lớp vàđốitượng
Đối của phương ... (d>dmax)
213
Chương 7. Lớpvàđối tượng
void ve_doan_thang(DIEM d2, int mau) ;
sẽ thấy phương thức có 3 đối:
Đối thứ nhất là một đốitượng DIEM do this trỏ tới
Đối thứ hai là đốitượng DIEM d2
Đối thứ ba ... thức dùng để in đốitượng DIEM_DH
233
Chương 7. Lớpvàđối tượng
void dtcvhcn(int a, int b, int&dt, int &cv)
{
dt=a*b;
cv=2*(a+b);
}
257
Chương 7. Lớpvàđối tượng
cho đốitượng mới. Hàm...
... Nẵng
13
Đặt khai báo lớp ở đâu?
Để đảm bảo tính đóng gói, ta thƣờng đặt khai
báo của lớptrong file header
tên file thƣờng trùng với tên lớp. Ví dụ khai báo lớp
Car đặt trong file “car.h”
... đặt trong một file
nguồn tƣơng ứng
“car.cpp” hoặc “car.cc”
Quy ƣớc đặt khai báo/định nghĩa của lớptrong
file trùng tên lớp đƣợc chấp nhận rộng rãi trong
C++
là quy tắc bắt buộc đối ... Thành viên là đối tƣợng của 1 lớp
Mảng các đối tƣợng
Phạm vi lớp
Cấu trúc (structure) và hợp (union)
Các trƣờng bit
Khoa Công Nghệ Thông Tin - Đại Học Bách khoa Đà Nẵng
19
Đối số thành...
... Department
19
7. Lớp cơ sở ảo
7. Lớp cơ sở ảo
Xét trường hợp:
Giả sử tronglớp A có thành phần x
Trong lớp B cũng có thành phần x
Xây dựng lớp C kế thừa từ lớp A và B
Theo nguyên lý kế thừa: trong ... số
Chú ý:
Có thể gán 1 đốitượng của lớp con vào một đối
tượng của lớp cha
PS a;
PS1 b;
a=b;// ok
b=a; // problem
Khi gán, các tp thừa (ko có tronglớp cha) sẽ bị
cắt tỉa và chuyển đổi kiểu lên ... khởi tạo và hàm huỷ
a. Hàm khởi tạo
- Hàm khởi tạo của lớp cha không được kế thừa
- Mỗi đốitượng của lớp con có thể coi là một đối
tượng của lớp cha
Do đó: khi gọi hàm khởi tạo của lớp con sẽ...
... chương trình
C:\MyJava>javac FileInterface .java
C:\MyJava>javac FileImpl .java
C:\MyJava>javac FileServer .java
C:\MyJava>javac FileClient .java
Ta sẽ thu được các lớp sau:
FileInterface.class, ... lớp RemoteObject.
Thực tế, phần lớn các đốitượng từ xa là thể hiện của các lớp con của lớp RemoteObject.
11.2. Lớp RemoteServer
Lớp này là lớp con của lớp RemoteObject; nó là lớp cha của lớp ... 8
Phân tán đốitượngtrongJava bằng RMI
1. Tổng quan
RMI là một cơ chế cho phép một đốitượng đang chạy trên một máy ảo Java này
( Java Virtual Machine) gọi các phương thức của một đốitượng đang...
... đổi thuộc tính của đốitượng bên
thay đổi thuộc tính của đốitượng bên
trong hàm khách được.
trong hàm khách được.
Ví dụ 13 Ví dụ 14
LỚP VÀĐỐI TƯỢNG
II.Phương thức thiết lập và phương thức hủy ...
khó hiểu!
LỚP VÀĐỐI TƯỢNG
Phân bổ bộ nhớ động
Phân bổ bộ nhớ động
Nhiều đốitượng cần được tạo ra trong thời gian
Nhiều đốitượng cần được tạo ra trong thời gian
chạy chương trình và cần bị ... ở lớp con
–
private
private
: Mọi thành phần của lớp cha là private
: Mọi thành phần của lớp cha là private
ở lớp con.
ở lớp con.
–
protected
protected
:
:
Ví dụ 7
LỚP VÀĐỐI TƯỢNG
Cài đặt lớp...
... Richards đưa ra vào
trên ngôn ngữ BCPL (do Martin Richards đưa ra vào
năm 1967) và ngôn ngữ B (do Ken Thompson phát
năm 1967) và ngôn ngữ B (do Ken Thompson phát
triển từ ngôn ngữ BCPL vào năm 1970 ... cùng với Assembler và phát
biến để lập trình hệ thống cùng với Assembler và phát
triển các ứng dụng.
triển các ứng dụng.
Vào những năm cuối thập kỷ 60 đầu thập kỷ 70 của
Vào những năm cuối ... Hằng, biến, các phép toán
§3. Hằng, biến, các phép toán
và phép gán
và phép gán
2
2
I. Các kiểu dữ liệu trong C
I. Các kiểu dữ liệu trong C
C là ngôn ngữ lập trình cấp cao, được sử dụng...
... chữ nhật
b. Lớp các đốitượng :
b. Lớp các đốitượng :
- Các đốitượng có cùng thành phần dữ liệu và
- Các đốitượng có cùng thành phần dữ liệu và
phương thức hình thành nên một lớp
phương thức ...
3
3
- Đốitượng đường tròn bao gồm tâm, bán kính vẽ
- Đốitượng đường tròn bao gồm tâm, bán kính vẽ
xoá
xoá
- Đốitượng đoạn thẳng, đốitượng hình chữ nhật
- Đốitượng đoạn thẳng, đốitượng ... mô tả đốitượng (Data)
ii) Các hàm tác động lên đốitượng gọi là phương
ii) Các hàm tác động lên đốitượng gọi là phương
thức của đốitượng (Method)
thức của đốitượng (Method)
Dữ liệu và các...
... đến lớp cha
•
Cho phép overload method –các method
cùng tên nhưng khác tham số.
2
Nội dung chương 3
3.1- Khaí niệm về lớpvàđối tượng
3.2- Cú pháp tạo lớp
3.3- Xây dựng và khởi tạo đối tượng.
3.4- ... 10
3.3- Xây dựng và khởi tạo đối tượng.
Chú ý về constructor:
•
Default Constructor: Nếu 1 lớp không hiện thực
constructor, constructor mặc định của Java sẽ thực
thi khi định nghĩa đốitượng (xóa ... nhập
3.7- Một số lớp có sẵn của Java.
3.8- Giao diện (Interface)
3.9- Lớp trừu tượng (Abstract class)
3.10- Lớp nội (Inner class)
3.11- Gói phần mềm (Package)
3.12- Tóm tắt và câu hỏi.
3.13-...
...
Chương 7. Lớpvàđốitượng
void ve_doan_thang(DIEM d2, int mau) ;
sẽ thấy phương thức có 3 đối:
Đối thứ nhất là một đốitượng DIEM do this trỏ tới
Đối thứ hai là đốitượng DIEM d2
Đối thứ ...
Chương 7. Lớpvàđốitượng
mảng) khác nhau. Mỗi đốitượng có vùng nhớ riêng của mình và vì vậy ta cũng có
thể quan niệm lớp chính là tập hợp các đốitượng cùng kiểu.
1. Khai báo lớp
Để khai ... có tên đốitượng đi
kèm, giống như cách viết trong cấu trúc của C. Nói cách khác, cách viết thuộc tính
của đốitượng như sau:
tên _đối_ tượng. Tên_thuộc_tính
Với các đốitượng d1, d2, d3 và mảng...
... dùng để in đốitượng DIEM_DH
233
Chương 7. Lớpvàđốitượng
mảng) khác nhau. Mỗi đốitượng có vùng nhớ riêng của mình và vì vậy ta cũng có
thể quan niệm lớp chính là tập hợp các đốitượng cùng ...
Chương 7. Lớpvàđốitượng
void ve_doan_thang(DIEM d2, int mau) ;
sẽ thấy phương thức có 3 đối:
Đối thứ nhất là một đốitượng DIEM do this trỏ tới
Đối thứ hai là đốitượng DIEM d2
Đối thứ ...
252
Chương 7. Lớpvàđốitượng
• Hàm tạo có thể có đối hoặc không có đối.
• Trong một lớp có thể có nhiều hàm tạo (cùng tên nhưng khác bộ đối) .
Ví dụ sau định nghĩa lớp DIEM_DH (Điểm đồ...
... nhớ cho đối tượng:
TênL
ớp TênBiếnĐốiTượng;
TênBiếnĐốiTượng = new TênLớp(DanhSáchĐốiSố);
hoặc
TênLớp TênBiếnĐốiTượng = new TênLớp(DanhSáchĐốiSố);
Chú ý:
• Sau khi khai báo biến đốitượng ...
• …
II. Lớpvàđốitượng
Chương trình là một hệ thống các đối tượng. Xây dựng một chương trình là định
nghĩa các lớpđối tượng, sau đó khai báo các đốitượngvà tổ chức để các đối
tượng thực ...
II.2.
Tạo đốitượng
Lớp mô tả cấu trúc chung của một nhóm đốitượng nào đó, ngược lại, một đối
tượng là một trường hợp cụ thể của một lớp (còn gọi là một thể hiện của một lớp) .
Vì đốitượng là...
... các đốitượng khác.
Thuộc tính “chiphisx” chỉ có thể truy cập được từ các đối
tượng có kiểu “xemay”
Thuộc tính “thoigiansx”, so có thể truy cập được từ các đối
tượng có kiểu “xemay” và các ...
n
n
i
i
ệ
ệ
m
m
Chúng ta có thể xem lớp như một khuôn mẫu (template) của
đối tượng (Object). Trong đó bao gồm dữ liệu của đốitượng
(fields hay properties) và các phương thức(methods) tác động ... cập được từ bên ngoài
lớp khai báo.
• protected: có thể truy cập được từ lớp khai báo và
những lớp dẫn xuất từ nó.
• private: chỉ được truy cập bên trong bản thân lớp khai
báo.
48
rất...
... chiếu đến bất
kỳ đốitượng nào của bất kỳ lớp con nào của lớp A_Object (ví
dụ var_2 có thể tham chiếu đến đốitượng var_1, var_1 là đối
tượng của lớp B_Object dẫn xuất từ lớp A_Object). Ngược ... phương thức trừu tượngtronglớp cha, nếu như
phương thức getName() mà không được định nghĩa thì lớp
Point là một lớp trừu tượng.
// Định nghĩa lớp Circle trong tập tin Circle .java
public class ... (fields và methods) của lớp cũ cũng sẽ thành các
thành phần (fields và methods) của lớp mới. Khi đó ta gọi lớp
mới là lớp dẫn xuất (derived class) từ lớp cũ (superclass). Có
thể lớp cũ cũng là lớp...
... chương trình
C:\MyJava>javac FileInterface .java
C:\MyJava>javac FileImpl .java
C:\MyJava>javac FileServer .java
C:\MyJava>javac FileClient .java
Ta sẽ thu được các lớp sau:
FileInterface.class, ... hiện của lớp RemoteObject.
Thực tế, phần lớn các đốitượng từ xa là thể hiện của các lớp con của lớp RemoteObject.
11.2. Lớp RemoteServer
Lớp này là lớp con của lớp RemoteObject; nó là lớp cha ... cài đặt cụ thể của giao tiếp. Đốitượng cài đặt này được gọi là đốitượng
skeleton, đốitượng này gọi phương thức tương ứng và truyền các kết quả cho đốitượng
stub trong client RMI. Mô hình này...