intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình Java: Chương 3: Lớp kiểu dữ liệu trừu tượng

Chia sẻ: Nguyễn Quân | Ngày: | Loại File: PPT | Số trang:52

185
lượt xem
67
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Lớp: Hiện thực chung cho một tập các đối tượng có cùng đặc điểm và hành vi. Một lớp có thể là lớp con của một lớp đã có. Hiện thực lớp: – Khai báo mức cho phép sử dụng. – Khai báo lớp cha. – Khai báo các thành phần thuộc tính. – Hiện thực code các hành vi. Lớp và mỗi thành phần cần phải chỉ định mức độ cho phép truy cập (tính bảo mật)  access modifier. Mỗi ngôn ngữ OOP quy định cú pháp riêng cho việc. hiện thực lớp....

Chủ đề:
Lưu

Nội dung Text: Lập trình Java: Chương 3: Lớp kiểu dữ liệu trừu tượng

  1. LẬP TRÌNH JAVA Chương 3 Ch LỚP – KIỂU DỮ LIỆU TRỪU TƯỢNG CLASS – ABSTRACT DATA TYPE ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 1
  2. Mục tiêu  Nắm vững cấu trúc của một lớp.  Nắm vững các chỉ thị truy cập.  Giải thích được constructor và destructor.  Giải thích được khái niệm đối tượng hiện hành.  Truy cập thành phần thừa kế từ lớp cha.  Hiện thực được lớp bằng Java. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 2
  3. Nội dung 3.1- Cấu trúc 1 lớp và access modifiers 3.2- Sử dụng một lớp 3.3- Chỉ thị this 3.4- Overloading một hành vi 3.5- Hành vi khởi tạo (constructor) 3.6- Chỉ thị super 3.7- Hành vi hủy (destructor) 3.8- Thành phần static 3.9- Chỉ thị final 3.10- Phương pháp giải bài toán với Java 3.11 – Chạy ứng dụng Java có tham số ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 3
  4. 3.1- Cấu trúc 1 lớp và access modifiers  Lớp: Hiện thực chung cho một tập các đối tượng có cùng đặc điểm và hành vi.  Một lớp có thể là lớp con của một lớp đã có.  Hiện thực lớp: – Khai báo mức cho phép sử dụng. – Khai báo lớp cha – Khai báo các thành phần thuộc tính. – Hiện thực code các hành vi.  Lớp và mỗi thành phần cần phải chỉ định mức độ cho phép truy cập (tính bảo mật)  access modifier  Mỗi ngôn ngữ OOP quy định cú pháp riêng cho việc hiện thực lớp. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 4
  5. Cấu trúc một lớp class A là con Access Modifiers class B Các giới hạn truy cập 1. Cho phép truy cập tự do (public) Field_1 2. Chỉ cho phép trong cùng một gói Field_2 truy cập ....... 3. Không cho bên ngoài truy cập Method_1() (private). Method_2() 4. Chỉ cho lớp con truy cập .......... (protected). 5. Không cho phép lớp con hiệu chỉnh (final). ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 5
  6. Cú pháp khai báo class trong Java [Modifier] class CLASSNAME [extends FATHERCLASSNAME] { [Modifier] DataType1 Property1 [=Value]; [Modifier] DataType2 Property2 [=Value]; [Modifier] DataType MethodName(DataType Arg,…) { } } Không có modifier : Mặc định là friendly, cho phép các đối tượng thuộc các class cùng package (cùng thư mục) truy cập ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 6
  7. Đặc tính truy xuất Modifier private friendly protected public Cùng class YES YES YES YES Cùng gói, khác NO YES YES YES class lớp con trong cùng NO YES YES YES gói với lớp cha Khác gói, khác lớp NO NO NO YES Lớp con khác gói NO NO YES YES với lớp cha ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 7
  8. 3.2- Sử dụng một lớp Ví dụ: File vd.java có nội dung sau: public class VD{ public static void main(String args[]){} } Error Lớp public thì tên file.java phải trùng với tên lớp Nếu không là lớp public, tên lớp và tên file có thể khác nhau. Vì lớp này chỉ dùng trong một gói (package) ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 8
  9. 3.2- Sử dụng một lớp public class HocSinh{ String hoten; int tuoi; public void nhap(String ht, int t){ hoten=ht; tuoi=t;} public void xuat(){ System.out.println(“Ho va ten: “ + hoten); System.out.println(“Tuoi: “ + tuoi);} public static void main(String args[]){ HocSinh hs = new HocSinh(); hs.nhap(“Nguyen Van Ty”,2); hs.xuat();} } ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 9
  10. 3.2- Sử dụng một lớp public class HocSinh{ String hoten; int tuoi; public void nhap(String ht, int t){ hoten=ht; tuoi=t;} public void xuat(){ System.out.println(“Ho va ten: “ + hoten); System.out.println(“Tuoi: “ + tuoi);}} Public class ChuongTrinhChinh{ public static void main(String args[]){ HocSinh hs = new HocSinh(); hs.nhap(“Nguyen Van Ty”,2); hs.xuat();}} ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 10
  11. 3.3- Chỉ thị this  Khi hiện thực hành vi của 1 lớp. Truy xuất một thành phần bằng chính tên của thành phần này hoặc this.tênThànhPhần.  Khi tham số trùng với tên thuộc tính thì nhờ từ khóa this chúng ta phân biệt rõ thuộc tính với tham số.  Các môi trường lập trình Java hiện nay hầu hết đ u có trợ giúp ngữ cảnh. Do vậy, qua từ khóa this, ề người lập trình dễ truy cập 1 thành phần của lớp. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 11
  12. 3.2- Chỉ thị this public class HocSinh{ String hoten; int tuoi; public void nhap(String ht, int t){ hoten=ht; tuoi=t;} public void nhaphs(String ht, int t){ this.hoten=ht; this.tuoi=t;} ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 12
  13. 3.4- Overloading một hành vi  Overloading: Kỹ thuật cho phép xây dựng các hành vi trùng tên nhưng khác chữ ký (signature) trong cùng một lớp.  Chữ ký bao gồm: – Số lượng tham số. – Thứ tự các kiểu của các tham số. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 13
  14. Ví dụ 3 hành vi cùng có tên là setData ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 14
  15. 3.5- Hành vi khởi tạo (constructor)  Hành vi được thực thi ngay vào lúc khởi tạo đối tượng  Một lớp có thể có 0/1/n contructor  Cú pháp constructor [Modifier] ClassName (Parameters) { }  Chú ý: Constructor không có kiểu trả trị. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 15
  16. 3.5- Hành vi khởi tạo (constructor)  Constructor không tham số còn được gọi là constructor chuẩn.  Ngôn ngữ có sẵn 1 constructor chuẩn làm công việc xóa trống vùng nhớ chứa dữ liệu của đối tượng  Trị 0/null.  Khi một lớp đã có constructor thì constructor mặc định của ngôn ngữ không còn được áp dụng nữa.  Tập các constructor hình thành các cách định nghĩa đối tượng.  Định nghĩa một đối tượng không theo một mẫu constructor sẽ gây lỗi. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 16
  17. Ví dụ: constructor của ngôn ngữ (gõ 3 phím) 0 z 0 y 0 x Nếu là constructor tự tạo thì việc khởi tạo trị ban đầu được ấn định b b bởi code trong constructor. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 17
  18. Ví dụ: constructor là mẫu khởi tạo đối tượng Nếu một lớp có constructor thì constructor mặc định của ngôn ngữ không được sử dụng nữa. ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 18
  19. Ví dụ: lớp có nhiều constructor Viết lại default constructor constructor tự tạo Copy constructor ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 19
  20. Ví dụ: gọi hành vi trong constructor ThS. Nguyễn Thị Thùy Chương 3- Lớp – Kiểu dữ liệu trừu tượng 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0