Bài giảng Lập trình hướng đối tượng (dùng Java) Chương 3 Trần Minh Thái (2017 P2)

132 942 4
Bài giảng Lập trình hướng đối tượng (dùng Java) Chương 3  Trần Minh Thái (2017  P2)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Lập trình hướng đối tượng (dùng Java) Chương 3 Lập trình Hướng đối tượng với Java (P2) cung cấp cho người học các kiến thức Vấn đề tái sử dụng code, kế thừa trong Java, tính đa hình trong Java, cài đặt interface trong Java, lập trình tổng quát. Mời các bạn cùng tham khảo nội dung chi tiết.

Chương Lập trình Hướng đối tượng với Java (tt) TRẦN MINH THÁI Email: minhthai@huflit.edu.vn Website: www.minhthai.edu.vn Cập nhật: 22 tháng 03 năm 2017 Nội dung #2 Vấn đề tái sử dụng code Kế thừa Java Tính đa hình Java Cài đặt interface Java Lập trình tổng quát VẤN ĐỀ TÁI SỬ DỤNG CODE Tái sử dụng code #4 • Lập trình cấu trúc: chương trình • OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự  tái sử dụng lớp viết • Trong lớp tái sử dụng phương thức • Ưu điểm: • Giảm chi phí • Nâng cao khả bảo trì khả mô hình hóa Các hình thức tái sử dụng code #5 Sao chép lớp cũ thành lớp khác  Hạn chế: Dư thừa, khó quản lý có thay đổi Kết hợp: Lớp tập hợp/ sử dụng lớp có Kế thừa: Lớp phát triển thêm thuộc tính phương thức từ lớp có KẾT HỢP AGGREGATION Kết hợp (Aggregation) #7 • Thể mối quan hệ “has-a”: Lớp chứa đối tượng lớp cũ • Lớp mới: Lớp chứa/ Lớp toàn thể • Lớp cũ: Lớp thành phần • Ví dụ: • Lớp cũ: Điểm (Point) • Lớp mới: Tam giác (Triangle) có điểm Lớp chứa tái sử dụng thành viên lớp thành phần thông qua đối tượng Sơ đồ lớp #8 Số lượng thành phần • số nguyên dương (1, 2, ) • Dải số (0 1, n) • Bất kỳ giá trị nào: * • Không ghi: Ví dụ Lớp ToaDoDiem #9 package minhthai.oop.thietkelop; public class ToaDoDiem { private int x; private int y; public ToaDoDiem() { this.setX(0); this.setY(0); } public ToaDoDiem(int x, int y) { this.setX(x); this.setY(y); } public int getX() {return x;} public void setX(int x) {this.x = x;} public int getY() {return y;} public void setY(int y) {this.y = y;} public void hienThi() { System.out.printf("(%d, %d)\n", this.x, this.y); } } Ví dụ Lớp TamGiac #10 Nếu lớp thành phần khác package dùng lệnh import GIAO DIỆN INTERFACE Giao diện #119 • Sử dụng trường hợp đa kế thừa (kế thừa từ nhiều lớp) • Giao diện quy định phương thức phải có, không định nghĩa cụ thể  Tách rời đặc tả mức trừu tượng triển khai cụ thể  Đảm bảo tính cộng tác phát triển phần mềm  Các giao diện kế thừa Giao diện #120 • Cú pháp Modifier interface InterfaceName { Khai báo số Khai báo phương thức } Triển khai giao diện #121 Modifier class ClassName implements Interface1, Interface2 { Định nghĩa lớp Định nghĩa tất phương thức Interface1 Interface2 } Kế thừa triển khai giao diện #122 Modifier class SubClass extends SuperClass implements Interface1, Interface2 { Định nghĩa SubClass kế thừa từ SuperClass Định nghĩa tất phương thức Interface1 Interface2 } Giao diện vs Trừu tượng #123 Giao diện Chỉ phép có thành viên Trừu tượng Có thể có thuộc tính Ngoài phương thức trừu Mọi phương thức trừu tượng tượng, có phương với định truy cập public thức riêng Không có phương thức khởi tạo Có phương thức khởi tạo Một lớp triển khai nhiều Một lớp kế thừa giao diện từ lớp trừu tượng Không tái sử dụng mã nguồn Có tái sử dụng mã nguồn Ví dụ #124 Giao diện HinhHoc #125 Lớp HinhTron #126 Lớp HinhChuNhat #127 Lập trình tổng quát #128 • Xây dựng chương trình làm việc với nhiều kiểu liệu khác thao tác xữ lý Cách thức lập trình tổng quát #129 Cách thức lập trình tổng quát #130 Bài tập #131 Thiết kế chương trình quản lý danh sách hình vẽ, gồm loại hình vẽ sau: • Hình chữ nhật: tọa độ tâm, chiều rộng chiều dài • Hình tròn: tọa độ tâm, bán kính • Hình tam giác: tọa độ tâm, chiều dài cạnh Chức năng: nhập, xuất danh sách hình, cho biết số lượng hình có diện tích lớn loại Yêu cầu: vẽ sơ đồ lớp, định nghĩa tất lớp với phương thức cần thiết Q&A #132 ... đa hình Java Cài đặt interface Java Lập trình tổng quát VẤN ĐỀ TÁI SỬ DỤNG CODE Tái sử dụng code #4 • Lập trình cấu trúc: chương trình • OOP: nhiều loại đối tượng có thuộc tính, hành vi tương... tính điểm để kết luận người thắng GOM NHÓM ĐỐI TƯỢNG Vấn đề gom nhóm đối tượng #26 • Nhóm đối tượng có tập thuộc tính/ hành vi lại với thành lớp • Nhóm đối tượng có số thuộc tính/ hành vi VD: nhóm... gom nhóm đối tượng #27 • Mỗi nhóm lớp đối tượng tương tự có chung số đặc điểm • Quan hệ nhóm với nhóm lớn gọi quan hệ “is-a” Vấn đề gom nhóm đối tượng #28 • Ví dụ: o Một xe ô tô “is-a” xe động

Ngày đăng: 15/05/2017, 10:28

Mục lục

    Tái sử dụng code

    Các hình thức tái sử dụng code

    Ví dụ Lớp ToaDoDiem

    Ví dụ Lớp TamGiac

    Ví dụ Lớp TamGiac …

    Vấn đề gom nhóm đối tượng

    Vấn đề gom nhóm đối tượng

    Vấn đề gom nhóm đối tượng

    Vấn đề gom nhóm đối tượng

    Mục tiêu của thừa kế

Tài liệu cùng người dùng

Tài liệu liên quan