Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

08 Ket tap

LẬP TRÌNH JAVA

Bài 8: Kết tập

Mục tiêu

 Kết thúc bài học bạn có thể nắm được:

 Ch ỉ ra đư ợc b ản ch ất c ủa k ết t ập

 Mô t ả các khái ni ệm cơ b ản liên quan đ ến k ết t ập.

 Bi ểu di ễn đư ợc k ết t ập trên UML

 Sử dụng các vấn đề trên với ngôn ngữ lập trình Java.

Nội dung

 8.1 Tổng quan về kết tập

 8.2 Biểu diễn trên UML

 8.3 Thực thi trên Java

8.1 Tổng quan về kết tập

 Ví dụ:

 Đi ểm

 T ứ giác g ồm 4 đi ểm

 K ết t ập

8.1 Tổng quan về kết tập

 Tái sử dụng mã nguồn (Re-usability)

 T ồn t ại nhi ều lo ại đ ối tư ợng có các thu ộc tính và hành vi tương t ự ho ặc liên quan đ ến nhau

 Xu ất hi ện nhu c ầu s ử d ụng l ại các mã ngu ồn đã vi ết.

 L ớp c ũ đã có, đã m ất công l ập trình  S ử d ụng l ại l ớp c ũ:

 Sao chép l ớp c ũ thành 1 l ớp khác.

 T ạo ra l ớp m ới là s ự k ết h ợp các đ ối tư ợng c ủa l ớp c ũ đã có  K ết t ập

 T ạo ra l ớp m ới trên cơ s ở phát tri ển t ừ l ớp c ũ đã có  K ế th ừa

8.1 Tổng quan về kết tập

 Bản chất của kết tập

 T ạo ra tham chi ếu đ ến các đ ối tư ợng c ủa các l ớp có s ẵn trong l ớp m ới  L ớp m ới là s ự k ết t ập các l ớp c ũ đã có.

 L ớp m ới ch ứa các tham chi ếu đ ến các đ ối tư ợng c ủa các l ớp c ũ.

 Các tham chi ếu này chính là các thành viên c ủa l ớp m ới.

 Quan h ệ ch ứa/có ("has-a") ho ặc là m ột ph ần (is-a-part-of) ho ặc s ử d ụng ("use-a").

 K ết t ập tái s ử d ụng thông qua đ ối tư ợng

Nội dung

 8.1 Tổng quan về kết tập

 8.2 Biểu diễn trên UML

 8.3 Thực thi trên Java

8.2 Biểu diễn trên UML

 Bội số quan hệ (Multiplicity)

 1 số nguyên dương: 1, 2,...

 Dải số (0..1, 2..4)

 *: Bất kỳ số nào

8.2 Biểu diễn trên UML

 Điểm được gọi là đối tượng thành phần

 Tứ giác là lớp chứa đối tượng thành phần

 Điểm được khai báo và sử dụng giống như các dữ liệu thành phần của Tứ giác.

8.2 Biểu diễn trên UML

 Một số thuật ngữ liên quan:

 K ết t ập

 Aggregation (has a)

 Composition (use a)

 Liên k ết

 Association

Nội dung

 8.1 Tổng quan về kết tập

 8.2 Biểu diễn trên UML

 8.3 Thực thi trên Java

8.3 Thực thi trên Java

class Diem {

private int x, y;

public Diem(int _x, int _y){

x = _x; y = _y; }

public void setX(int _x){x=_x;}

public int getX() {return x;}//...

}

class TuGiac {

private Diem d1, d2;

private Diem d3, d4;

public TuGiac(Diem _d1, Diem _d2, Diem _d3, Diem _d4){

d1=_d1; d2=_d2;

d3=_d3; d4=_d4; }

public void setD1(Diem _d1){

d1=_d1;}

public Diem getD1(){return d1;}

//...

}

8.3 Thực thi trên Java

public class Test {

public static void main(String arg[])

{

Diem d1 = new Diem(0,0);

Diem d2 = new Diem(0,1);

Diem d3 = new Diem (1,1);

Diem d4 = new Diem (1,0);

TuGiac tg1 = new TuGiac(d1, d2, d3, d4);

TuGiac tg2 = new TuGiac();

tg2.setD1(d1);

// ...

}

}

8.3 Thực thi trên Java

class Person {

private String name;

private Date bithday;

public String getName() { return name; }

...

}

class Employee {

private Person me;

private double salary;

public String getName() { return me.getName(); }

...

}

8.3 Thực thi trên Java

class Manager {

private Employee me;

private Employee assistant;

public setAssistant(Employee e) {...}

...

}

...

Manager junior = new Manager();

Manager senior = new Manager();

// senior.setAssistant(junior); error

Bạn đang đọc truyện trên: Truyen247.Pro