You are on page 1of 12

Lập Trình Hướng Đối Tượng – CT176

TS. Phan Thượng Cang


ptcang@cit.ctu.edu.vn
Khoa CNTT&TT-Đại học Cần Thơ
Phần 4
Xây Dựng Ứng Dụng Hướng Đối Tượng

TS. Phan Thượng Cang


Khoa CNTT&TT-Đại học Cần Thơ
Mô hình hóa hướng đối tượng
 Ký hiệu Lớp: ConNguoi
Tên lớp

Thành phần
riêng
- cccd : chuỗi
Thuộc tính
- hten : chuỗi
Thành phần + nhap() : void
chung Phương thức
+ in() : void
Thành phần # sosanh(d : int) : boolean
được bảo vệ

public class ConNguoi {


private String cccd, hten;
public ConNguoi() { … }
public void nhap() { … }
public void in() { … }
protected void sosanh() { … }
3
} TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Association (gắn kết)
ConNguoi DiaChi
- cccd : chuỗi - so : int
1 0..1
- hten : chuỗi - duong : chuỗi
+ nhap() : void + nhap() : void
+ in() : void + in() : void

public class DiaChi {


private int so;
public class ConNguoi { private String duong;
private String cccd, hten; public DiaChi(){…}
private DiaChi dchi; public void nhap(){…}
public void in(){ … }
public ConNguoi() { … } }
public void nhap() { … }
public void in() { … }
4
} TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Association (gắn kết)
ConNguoi DiaChi
- cccd : chuỗi - so : int
1 0..*
- hten : chuỗi - duong : chuỗi
+ nhap() : void + nhap() : void
+ in() : void + in() : void

public class DiaChi {


private int so;
public class ConNguoi { private String duong;
private String cccd, hten; public DiaChi(){…}
private DiaChi dchi[]; public void nhap(){…}
public void in(){ … }
public ConNguoi() { … } }
public void nhap() { … }
public void in() { … }
5
} TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Association (gắn kết)
ConNguoi DiaChi
- cccd : chuỗi - so : int
1 0..*
- hten : chuỗi - duong : chuỗi
+ nhap() : void + nhap() : void
+ in() : void + in() : void

public class DiaChi {


public class ConNguoi { private int so;
private String cccd, hten; private String duong;
private ConNguoi c;
private DiaChi dchi[];
public DiaChi(){…}
public ConNguoi() { … } public void nhap(){…}
public void in(){ … }
public void nhap() { … }
}
public void in() { … }
} 6
TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Association (gắn kết)
1 0..*
ConNguoi DiaChi
- cccd : chuỗi - so : int
- hten : chuỗi CưTru - duong : chuỗi
+ nhap() : void - bdau : int + nhap() : void
+ in() : void - kthuc : int + in() : void

public class ConNguoi { public class CuTru {


private String cccd, hten; private int bdau,kthuc;
private DiaChi dchi;
private CuTru ctru[];
public ConNguoi() { … } public CuTru(){…}
public void nhap() { … } public void nhap(){…}
public void in() { … } public void in(){ … }
}
} 7
TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Aggregation (bao gồm )
ConNguoi CanhTay
- cccd : chuỗi - dai : float
0..2
- hten : chuỗi + nhap() : void
+ nhap() : void + in() : void
+ in() : void

public class CanhTay {


public class ConNguoi { private float dai;
private String cccd, hten; public CanhTay(){…}
public void nhap(){…}
private CanhTay c1, c2; public void in(){ … }
}
public ConNguoi() { … }
public void nhap() { … }
public void in() { … }
} 8
TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Composition (thành phần)
ConNguoi CanhTay
- cccd : chuỗi - dai : float
0..2
- hten : chuỗi + nhap() : void
+ nhap() : void + in() : void
+ in() : void

public class CanhTay {


public class ConNguoi { private float dai;
public CanhTay(){…}
private String cccd, hten; public void nhap(){…}
private final CanhTay c1,c2; public void in(){ … }
}
public ConNguoi() { … }
public void nhap() { … }
public void in() { … }
} 9
TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Generalization (thừa kế)
ConNguoi NhanSu
- cccd : chuỗi - mso : int
- hten : chuỗi - dvi : chuỗi
+ nhap() : void + nhap() : void
+ in() : void + in() : void

public class ConNguoi {


private String cccd, hten;
public class NhanSu
public ConNguoi() { … } extends ConNguoi {
public void nhap() { … }
public void in() { … }
private int mso;
} private String dvi;
public NhanSu() {…}
public void nhap() {…}
public void in() {…}
} 10
TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: Realization (thực thi):
ConNguoi Movable
- cccd : chuỗi + nhap() : void
- hten : chuỗi + in() : void
+ diToi() : void
……
+ diLui() : void

public class ConNguoi public interface Movable {


implements Movable { public void nhap();
public void in();
private String cccd, hten; public void diToi();
public void diLui();
public ConNguoi() { … }
}
public void nhap() {…}
public void in() {…}
public void diToi() {…}
public void diToi() {…}
} 11
TS. Phan Thượng Cang
Mô hình hóa hướng đối tượng
 Quan hệ: dependency (phụ thuộc)
ConNguoi LuatGT
- cccd : chuỗi <<uses>>
- hten : chuỗi ….
……

public class ConNguoi {


private String cccd, hten;
public void laiXe(LuatGT l){ ... }

public ConNguoi() { … }
public void nhap() {…}
public void in() {…}
……

} 12
TS. Phan Thượng Cang

You might also like