SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 3 - LỚP

55 419 0
SLIDE GIẢNG DẠY - NGÔN NGỮ LẬP TRÌNH JAVA - CHƯƠNG 3 - LỚP

Đ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

LẬP TRÌNH JAVA Chương LỚP TRONG JAVA GV: Võ Hoàng Phương Dung Nội dung  Các khái niệm lập trình hướng đối tượng  Khai báo lớp  Các lớp lồng  Lớp Abstract  Gói  Phạm vi truy cập  Interface  Thừa kế đa hình 2/25 Các khái niệm  Đối tượng (Object) • Thuộc tính (fields) • Hành vi (methods) Rectangle Width: 50cm Height: 30cm Color: Yellow Draw() changeSize() 3/25 Các khái niệm  Thuộc tính (fields) liệu trình bày đặc điểm đối tượng • Mọi đối tượng lớp phải có thuộc tính giá trị thuộc tính khác • Một thuộc tính đối tượng nhận giá trị khác thời điểm khác  Ví dụ: đối tượng hình chữ nhật có thuộc tính chiều dài, chiều rộng 4/25 Các khái niệm  Phương thức (method) cách đáp ứng chức tác động lên liệu đối tượng • Các phương thức xác định cách thức hoạt động đối tượng thực thi đối tượng cụ thể tạo  Ví dụ: hoạt động chung lớp hình chữ nhật tính chu vi diện tích 5/25 Các khái niệm  Lớp (Class) • Là tập hợp đối tượng loại • Là khuôn mẫu tạo đối tượng • Là kiểu liệu phần mềm Lớp: Rectangle Đối tượng: RectangleA Đối tượng: RectangleB 6/25 Các khái niệm  Các tính chất lập trình hướng đối tượng • Tính đóng gói • Tính thừa kế • Tính đa hình 7/25 Các khái niệm  Tính đóng gói • Đóng gói tiến trình che giấu việc thực thi chi tiết đối tượng • Giới hạn quyền truy cập đến thành phần đối tượng • Cơ chế cho việc che dấu thông tin 8/25 Các khái niệm  Thừa kế (Inheritance) • Xây dựng lớp (subclass) từ lớp cũ (superclass) • Lớp có tất thuộc tính phương thức lớp cũ thêm vào số đặc tính riêng khác • Các lớp định nghĩa lại phương thức thừa kế để xử lý thuộc tính riêng chúng • Ví dụ: Lớp xe đạp leo núi lớp xe đạp đua lớp lớp xe đạp Lớp xe đạp gọi lớp cha 9/25 Các khái niệm  Tính đa hình • Phương thức tên thực khác đối tượng, lớp khác • Ví dụ: hai lớp Hình chữ nhật hình tròn có phương thức tính chu vi, diện tích Nhưng cách tính chu vi đối tượng hình chữ nhật hình tròn lại khác 10/25 abstract class MyAbstractClass { abstract void callme(); void callmetoo() { System.out.println(“Day khong phai abstract"); } } class B extends MyAbstractClass { void callme() { System.out.println(“Thuc thi lop B"); } } public class Main { public static void main(String args[]) { B b = new B(); b.callme(); b.callmetoo(); } } 41/25 Gói (Package)  Là chứa lớp interface  Trong Java, gói thể thư mục  Tác dụng • Nhóm thành phần liên quan • Giới hạn truy cập từ thành phần bên • Tổ chức code dễ quản lý 42/25 Gói (Package)  Khai báo gói package tên_gói;  Khai báo gói đa cấp package pkg1[.pkg2[.pkg3]];  Ví dụ package graphics; public class Rectangle{ … public double calculateArea() {  return width*height;  } } 43/25 Gói (Package)  Truy cập thành phần thuộc gói • Sử dụng tên: graphics.Circle myCircle = new graphics.Circle(); • Sử dụng câu lệnh import để nạp thành phần import graphics.Rectangle; Rectangle myRectangle = new Rectangle(); • Sử dụng import để nạp toàn gói import graphics.*; Circle myCircle = new Circle(); Rectangle myRectangle = new Rectangle(); 44/25 Gói (Package)  Quản lý code • Khai báo gói • Các câu lệnh import • Khai báo thành phần package MyPack; import java.util.Date; public class Main { public static void main(String args[]) { System.out.println(new Date()); } } 45/25 Phạm vi truy cập  Cách khai báo [modifier] class ten_lop{ [modifier] dataType ten_thuoctinh; [modifier] returnedValue ten_phuongthuc{ … } } 46/25 Phạm vi truy cập  Java có phạm vi truy cập cho thành phần • public: truy cập tất thành phần khác • private: truy cập thành phần lớp • protected: truy cập lớp • default (không khai báo): truy cập thành phần gói 47/25 Phạm vi truy cập  Vị trí & phạm vi truy cập 48/25 Phạm vi truy cập o Modifier Alpha 49/25 Interface Khai báo [modifier] interface name { return-type method-name1(parameter-list); return-type method-name2(parameter-list); type final-varname1 = value; type final-varname2 = value; // return-type method-nameN(parameter-list); type final-varnameN = value; }   Các biến ngầm định là: public, static, final 50/25 Interface  Ví dụ interface MyInterface{ void callback(int param); } 51/25 Interface  Tạo class từ interface [modifier] class classname [extends superclass] [implements interface [,interface ]] { // class-body }  Trong Java, không cho phép thừa kế từ nhiều superclass thừa kế từ nhiều interface 52/25 Interface Ví dụ interface MyInterface { void callback(int param); } class Client implements MyInterface{ public void callback(int p) { System.out.println(“Call:" + p); } } public class Main { public static void main(String args[]) { MyInterface c = new Client(); c.callback(42); } }  53/25 Interface  Nếu class thực thi interface không đầy đủ lớp phải lớp abstract Ví dụ interface MyInterface { void callback(int param); void show(); } abstract class Incomplete implements MyInterface { int a, b; public void show() { System.out.println(a + " " + b); } }  54/25 Interface  Interface thừa kế interface IntefaceA { void meth1(); void meth2(); } interface IntefaceB extends IntefaceA { void meth3(); } 55/25 ... chúng • Ví dụ: Lớp xe đạp leo núi lớp xe đạp đua lớp lớp xe đạp Lớp xe đạp gọi lớp cha 9/25 Các khái niệm  Tính đa hình • Phương thức tên thực khác đối tượng, lớp khác • Ví dụ: hai lớp Hình chữ... truy cập 22/25 Các lớp lồng  Java cho phép định nghĩa lớp bên lớp khác  Cấu trúc class OuterClass { static class StaticNestedClass { } class InnerClass { } } 23/ 25 Các lớp lồng  Ví dụ class... outer_x); } } void showy() { System.out.println(y); } } 25/25 Thừa kế  Tạo lớp từ lớp tồn • Lớp gọi lớp (subclass) • Lớp cũ gọi lớp cha (superclass)  Cú pháp: class subClass extends superClass{ }

Ngày đăng: 29/06/2017, 22:56

Từ khóa liên quan

Mục lục

  • LẬP TRÌNH JAVA

  • Nội dung

  • Các khái niệm

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Khai báo lớp

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Khai báo & tạo đối tượng

  • Slide 17

  • Slide 18

  • Ví dụ

  • Mở rộng – Từ khóa this

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

  • Đang cập nhật ...

Tài liệu liên quan