Bài giảng Lập trình Java Chương 2: Lập trình hướng đối tượng ngôn ngữ Java cung cấp cho người học các kiến thức: Kế thừa, final method and final class, abstract class and interface, tạo tài liệu Java doc,... Mời các bạn cùng tham khảo.
LOGO Phát triển UD CSDL Chương 2: Lập trình hướng đối tượng ngơn ngữ JAVA Nội dung • Kế thừa – – – • • • • • Khai báo kế thừa Phạm vi sử dụng private, protected, public Một số từ khố thơng dụng Final method & Final Class Abstract class & Interface Array List Tạo tài liệu Java doc Tạo UML Class diagrams Khai báo kế thừa package tenpackage; public class TenLopCha { //Khai bao cac thuọc tinh //Khai bao cac phuong thưc } package tenpackage; public class TenLopCon extends TenLopCha{ //Khai bao cac thuọc tinh //Khai bao cac phuong thưc } Object lơp co sơ nhât Java Trong truơng hơp m ột lơp không khai báo kế th ừa t b ât ky l ơp l ơp Object l ơp cha c ua Khai báo kế thừa package quanly; public class GiangVien { //Khai bao cac thuọc tinh //Khai bao cac phuong thưc } package bt1; public class GiangVienCoHuu extends GiangVien{ //Khai bao cac thuọc tinh //Khai bao cac phuong thưc } Phạm vi • protected: Đuơc sử dụng trưc tiếp: – – – • Các lơp cung package Các lơp (cung hoạc khác package) private: – • Ben lơp Đuơc sử dụng trưc tiếp ben lơp public: Đuơc sử dụng trưc tiếp – – – Ben lơp Ben lơp Các lơp cung hoạc khác package + Các lơp khác cung hoạc khác package Một số từ khố thơng dụng • • • • Truy xuât lơp tại: this Truy xuât đến lơp cha: super Chi đinh phuong thưc khơi tạo cua lơp cha: super(), super(…) Cài đạt lại phuong thưc cua lơp cha @Override public KieuDuLieu tenPhuongthuc(…) Luu y: phuong thưc static khơng đuơc phep Override • • Goi phuong thưc cua lơp cha: super.tenPhuongThuc( ) Kiêm tra thê cua đối tuơng: instanceOf Một số từ khố thơng dụng • instanceOf A a = new A(); B b = new B(); if (a instanceof A) { System.out.println(“a is an instance of A"); } if (b instanceof B) { System.out.println(“b is an instance of B"); } Final method • Final Method phuong đuơc khai báo vơi từ khóa final //Vi dụ: final public void TenPhuongThuc () { • • } Final Method khơng đuơc phep override lơp kế thừa Các phuong thưc tạo khơng đuơc phep khai báo vơi từ khóa final Final method public class GiangVien { private String name; public final String getName () { .} public final void setName () { .} } public class GiangVienCoHuu extends GiangVien{ @Override public String getName(){ } � @Override public void setName(){ } � } Lỗi: Không thể Override phương thức final Final Class • • • Final Class lơp đuơc khai báo vơi từ khóa final Final Class khơng cho phep kế thừa Ví dụ: – – Integer, Double, Float, Long Final Class A Final Class � Các l ơp khác không thê kế thừa đuơc lơp A ArrayList - Tạo Array List • Ví dụ tạo ArrayList hơp lệ: //Mảng chiều String ArrayList list1 = new ArrayList (); //Mảng chiều PhanSo ArrayList list2 = new ArrayList (); //Mảng chiều PhanSo ArrayList list3 = new ArrayList (list2); • //Mảng Ví2dchi ụ ềtạu oHocSinh ArrayList khơng hơp lệ: ArrayList list4 = – – – ArrayList list1 = new ArrayList (); new ArrayList (); ArrayList list2 = new ArrayList (); ArrayList list3 = new ArrayList (); ArrayList - Một số phương thức thơng dụng • Tạo ArrayList: new – • Them vào cuối: add (E element) – – • ArrayList list = new ArrayList () list.add (new PhanSo(1,2)); list.add (new PhanSo(3,4)); Cập nhật: set (int index, E element) – list.set(0, new PhanSo(2,3)); ArrayList - Một số phương thức thơng dụng • • Xóa: remove (E element), remove (int index) Xóa tồn bộ: clear () – Ví dụ: list.remove (0); list.remove (ps); list.clear(); • Lây kích thuơc: size() int n = list.size(); ArrayList - Một số phương thức thơng dụng • Lây phần tử: get (int index) PhanSo ps = list.get(2); • Kiêm tra tồn tại: contains() boolean kq = list.contains(ps); Tạo Java Doc • Java Doc: – – • Tạo tài liệu mô tả câu trúc, diễn giải thành phần cua project Giúp cho mã nguồn rõ ràng hon, dễ dàng cho việc chia sẽ, mơ rộng nâng câp sau Cách thưc hiện: – R-Click tren Project Generate Java Doc Tạo Java Doc • Cách viết comment đê tạo tài liệu Java Doc: /** * Nội dung comment * * @thamso1 Giá tri * @thamso2 Giá tri */ Tạo Java Doc /** * Lớp Hình Chử Nhật * * @author He thong thong tin */ public class HinhChuNhat extends HinhHoc { /** * * @return Chu vi hình chử nhật = (dai + rong) * */ @Override public double TinhChuVi(){ … } /** * Hàm khởi tạo mặc định */ public HinhChuNhat() {…} /** * Hàm khởi tạo có đầy đủ tham số * @param ten tên hình * @param dai chiều dài hình chử nhật * @param rong chiều rọng hình chử nhật */ public HinhChuNhat(String ten, double dai, double rong) {…} } Tạo Java Doc Tạo Java Doc Phát sinh Generate Javadoc Tạo UML Class Diagram • Cách 1: – B1: Cài đạt UML Plugin cho Netbeans: • • • Here is how to install on 7.1 Add a new configuration to update centers: Tools -> Plugins -> Settings -> Add As the URL copy the following into the textbox: http://dlc.sun.com.edgesuite.net/netbeans/updates/6.9/uc/m1/dev/catalog.xml • Now on the tab Available Plugins there should be UML in category UML Install the plugin, and its done !! Tạo UML Class Diagram Tạo UML Class Diagram • Cách 1: – B2: R-Click project Ch on Reverse Engineering Create New UML Project Tạo UML Class Diagram Tạo UML Class Diagram • Cách 2: Sử dụng yWorks UML doclet – Download yWorks UML Doclet: • – – – http://www.yworks.com/en/downloads.html#yFiles Giải nen file yworks-uml-doclet-3.0_02-jdk1.5.zip Ghi nh th u m ục gi ải nen Câu hình tham số lúc tạo Java Doc: Ch ksg onksg project � R_Click� Properties�Documenting �Additional javadoc Options -docletpath "C:\yworks-uml-doclet-3.0_02-jdk1.5\lib\ydoc.jar" -resourcepath "C:\yworks-uml-doclet-3.0_02-jdk1.5\resources" -doclet ydoc.doclets.YStandard – umlautogen C:\yworks-uml-doclet-3.0_02-jdk1.5 : Đuơng dẫn giải nen yWorks UML doclet Tạo UML Class Diagram Kết ... @Override public double tinhChuVi(){ } Bài tập: Hình học • Xây dưng lơp HinhHoc, HinhChuNhat, HinhTamGiac, HinhTron vi ết ch uong trình cho phep: – – – – – – – – Nhập vào mảng hình hoc (có thê HinhChuNhat,... Đuơc sử dụng trưc tiếp: – – – • Các lơp cung package Các lơp (cung hoạc khác package) private: – • Ben lơp Đuơc sử dụng trưc tiếp ben lơp public: Đuơc sử dụng trưc tiếp – – – Ben lơp Ben lơp Các... 1: – B2: R-Click project Ch on Reverse Engineering Create New UML Project Tạo UML Class Diagram Tạo UML Class Diagram • Cách 2: Sử dụng yWorks UML doclet – Download yWorks UML Doclet: • – – –