1. Trang chủ
  2. » Công Nghệ Thông Tin

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

50 73 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 2,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

CSDL 2

Chương 2:

Lập trình hướng đối tượng ngôn ngữ JAVA

Trang 2

Kế thừa

Khai báo kế thừa

Phạm vi sử dụng private, protected, public Một số từ khoá thông dụng

Final method & Final Class

Abstract class & Interface

Array List <E>

Tạo tài liệu Java doc

Tạo UML Class diagrams

Trang 3

Object là l p co s  nhâ t trong Java. Trong tru ng h p m t l p không khai báo  ơ ́ ̛ ở ́ ̛ơ ̀ ợ ọ ơ ̂ ́

kê  th a t  bâ t ky  l p nào thì l p Object chính là l p cha cua nó ́ ư ̀ ư ̀ ́ ̀ ơ ́ ơ ́ ơ ́ ̉

Trang 5

protected: Được sử dụng trực tiếp:

Bên trong lớp

Các lớp cùng package

Các lớp con (cùng hoặc khác package)

private:

Được sử dụng trực tiếp bên trong lớp

public: Được sử dụng trực tiếp

Bên trong lớp

Bên ngoài lớp

Các lớp con cùng hoặc khác package + Các lớp khác cùng hoặc khác package

Trang 6

Truy xuất lớp hiện tại: this

Truy xuất đến lớp cha: super

Chỉ định phương thức khởi tạo của lớp cha: super(), super(…)

Cài đặt lại phương thức của lớp cha

@Override

public KieuDuLieu tenPhuongthuc(…)

Luu y : phuong th c static kho ng đu c phe p Override ̛ ́ ̛ ̛ ứ ̂ ̛ợ ́

Gọi phương thức của lớp cha: super.tenPhuongThuc( )

Kiểm tra thể hiện của đối tượng: instanceOf

Trang 7

 System.out.println(“b 

is an instance of B"); }

Trang 8

Final Method là một phương được khai báo với từ khóa final

Final Method không được phép override ở lớp kế thừa

Các phương thức tạo không được phép khai báo với từ khóa final

Trang 9

1 2 3 4 5 6

public class  GiangVien { 

 

private  String name;

public final  String  getName () {. . .} 

public final  void  setName () {. . .}  } 

1 2 3 4 5 6 7 8

@Override public void setName() { . . .} �

L i : Không th  Override m t ph ể ộ ươ ng th c final ứ

Trang 10

Final Class là một lớp được khai báo với từ khóa final

Final Class không cho phép kế thừa

Ví dụ:

Integer, Double, Float, Long là các Final Class

A là Final Class 🡪 Các lớp khác không thể kế thừa được lớp A

Trang 11

1 2 3

public final class  A{ 

 

1 2 3

public class  B  extends  A{  �

 

L i : Không th  k  th a m t l p fina ể ế ừ ộ ớ l

Trang 12

Hình ảnh:

Trang 13

Abstract  Class  là m t  l p  độ ớ ược  khai  báo  v i  t   khóa abstract. ớ ừ

Abstract Class  có  th   ch a  các  phể ứ ương  th c  abstract ho c phứ ặ ương th c có cài đ t ứ ặ

Phương th c abstract là phứ ương th c không có cài đ t ứ ặ

public   void  nhap(){ } 

public   abstract   double  

Trang 14

Abstract Class không th  t o th  hi n ể ạ ể ệ

Trang 15

N u các Sub Class không ph i là Abstract Class thì:ế ả

B t bu c ph i  cài đ t  l i  t t  c   các phắ ộ ả ặ ạ ấ ả ương  th c abstract c a l p cha. ứ ủ ớ

Không b t bu c cài đ t l i các phắ ộ ặ ạ ương th c không là abstract c a l p cha.ứ ủ ớ

 

N u  các  Sub  Class  là  Abstract  Class  thì  không  b t bu c  ph i  cài  đ t  l i  phế ắ ộ ả ặ ạ ương  th c  abstract  / ứ không abstract c a l p cha ủ ớ

Trang 16

//Khai báo và cài đ t  ặ các ph ươ ng th c  ứ

Trang 17

Sub  Class  GiangVienCoHuu  b t  bu c  cài  đ t  l i phắ ộ ặ ạ ương th c abstract tinhLuong() c a l p ứ ủ ớ

GiangVien. 

Sub  Class  GiangVienThinhGiang  b t  bu c  ph i  cài đ t  l i  phắ ộ ả ặ ạ ương  th c  abstract  tinhLuong()  c a ứ ủ

 l p GiangVien. ớ

Trang 18

Trang 19

. . .  } 

Trang 20

Được khai báo v i t  khóa ớ ừ interface 

public interface Hinh{…} 

public   interface  Hinh{ 

     public   static   final   double  

Trang 21

Một interface có thể kế thừa từ nhiều interface khác

M t  l p có  th   k   th a  t  1  l p và có  th  cài đ t  l i t  nhi u interface ộ ớ ể ế ừ ừ ớ ể ặ ạ ừ ề

1

2

3

public   interface  IA{…} 

public   interface  IB{…} 

public   interface  IC  extends  

N u m t l p khi  ế ộ ớ implements  t  m t inteface thì l p đó  ừ ộ ớ ph i  cài đ t  l i   ả ặ ạ

t t  c   các ph ấ ả ươ ng  th c abstract   ứ c a interface  ủ

Trang 25

Xây dựng các lớp HinhHoc, HinhChuNhat, HinhTamGiac, HinhTron và viết chương trình cho phép:

Nhập vào một mảng hình học (có thể là HinhChuNhat, HinhTamGiac, HinhTron)

Xuất ra mảng các hình học

Tính tổng diện tích

Tính tổng chu vi

Tìm hình có chu vi lớn nhất / nhỏ nhất & Xuất ra

Tìm hình có diện tích lớn nhât / nhỏ nhất & Xuất ra

Kiểm tra tam giác đều, hình vuông

Trang 27

     abstract   public   void  Nh ap(); 

     final   public  String getTe n() { 

         return  ten; 

    } 

     public   void  Xuat() {          System.out.print(ten);      } 

     public  HinhHoc() { 

        ten =  "" ; 

    } 

     public  HinhHoc(String t en) { 

         this ten = ten; 

    } 

Trang 28

     private   double  dai; 

     private   double  rong;       @Override  

     public   double  TinhDien Tich() { 

         return  dai * rong;      } 

     @Override  

     public   void  Nhap() {          Scanner scan =  new  Sc anner(System.in); 

        System.out.print( "Nha

p chieu dai: " ); 

         this dai = Double.pars eDouble(scan.nextLine());          System.out.print( "Nha

p chieu rong: " ); 

         this rong = Double.par seDouble(scan.nextLine());      }

Trang 29

     public  HinhChuNhat() {           super (); 

Trang 30

        System.out.print(\ "Nha

p canh thu nhat: \" ); 

         this a = Double.parse Double(scan.nextLine()); 

        System.out.print(\ "Nha

p canh thu hai: \" ); 

         this b = Double.parse Double(scan.nextLine()); 

        System.out.print(\ "Nha

p canh thu ba: \" ); 

         this c = Double.parse Double(scan.nextLine());      } 

Trang 32

CSDL 2

Array List <E>

Trang 34

Ki u d  li u E:  Ki u tham chi u ể ữ ệ ể ế

Ki u d  li u E h p l : Ki u tham chi u. VD: Integer,  Float,  Double,  String,  Object,  PhanSo, ể ữ ệ ợ ệ ể ếHocSinh, . . 

Ki u d  li u E không h p l : Ki u giá tr  VD: ể ữ ệ ợ ệ ể ị int, float, double, boolean ,… 

Trang 35

Ví d  t o ụ ạ ArrayList h p l : ợ ệ

Ví d  t o ArrayList không h p l : ụ ạ ợ ệ

  ArrayList <int> list1 = new ArrayList <int>(); 

  ArrayList <float> list2 = new ArrayList <float>();   ArrayList <double> list3 = new ArrayList <double>(); 

Trang 36

T o ArrayList: ạ new 

ArrayList<PhanSo> list = new ArrayList <PhanSo>()

Thêm vào cu i:  ố add (E element) 

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)); 

Trang 37

Xóa:   remove (E element),  remove (int index) 

Trang 38

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);

Trang 39

Xây  d ng  chự ương  trình  cho  phép  người  dùng  ch n  các ch c năng sau: ọ ứ

Trang 40

Java Doc:

Tạo tài liệu mô tả cấu trúc, diễn giải các thành phần của project

Giúp cho mã nguồn rõ ràng hơn, dễ dàng cho việc chia sẽ, mở rộng và nâng cấp về sau.Cách thực hiện:

R-Click trên Project 🡪 Generate Java Doc

Trang 41

Cách viết comment để tạo tài liệu Java Doc:

Trang 42

     * Hàm kh i  t o  có đ y  đủ tham số

     * @param ten tên c aủ  hình 

     * @param dai chi uề  dài c aủ  hình chử nh tậ  

     * @param rong chi uề  r ngộ  c aủ  hình chử nh tậ

     */

    public HinhChuNhat(String ten, 

double dai, double rong) {…}

}

Trang 45

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 !!

Trang 49

Giải nén file yworks-uml-doclet-3.0_02-jdk1.5.zip Ghi nhớ thư mục đã giải nén

Cấu hình tham số lúc tạo Java Doc:

Chọn project 🡪 R_Click🡪 Properties🡪Documenting🡪Additional javadoc Options

R-Click ở project 🡪 Chọn Reverse Engineering 🡪 Create New UML Project

­docletpath " C:\yworks­uml­doclet­3.0_02­jdk1.5\lib\ydoc.jar " ­resourcepath " C:\yworks­uml­

Trang 50

quả

Ngày đăng: 11/07/2020, 04:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN