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

Bài giảng Lập trình mạng bằng ngôn ngữ java: Chương 4 - Dương Khai Phong

Chia sẻ: Fczxxv Fczxxv | Ngày: | Loại File: PDF | Số trang:43

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

Nội dung chính của chương 4 Lập trình hướng đối tượng thuộc bài giảng lập trình mạng bằng ngôn ngữ java nhằm trình bày về các nội dung chính: hướng đối tượng trong java (OOP), các khái niệm liên quan OOP, các đặc điểm trong OOP, các lớp cơ bản trong java.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình mạng bằng ngôn ngữ java: Chương 4 - Dương Khai Phong

  1. www.sites.google.com/site/khaiphong Giáo viên: Dương Khai Phong Email: khaiphong@gmail.com Lý thuyết: 45 tiết Thực hành: 30 tiết ĐH Công nghệ Thông tin
  2. www.sites.google.com/site/khaiphong Nội dung môn học 1 Tổng quan lập trình java 2 Lập trình hướng đối tượng 3 Lập trình giao diện đồ họa 4 Lập trình mạng cơ bản 5 Ôn tập ĐH Công nghệ Thông tin
  3. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG A Hướng đối tượng trong java (OOP) B Các khái niệm liên quan OOP C Các đặc điểm trong OOP D Các lớp cơ bản trong java ĐH Công nghệ Thông tin
  4. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG A Hướng đối tượng trong java (OOP)  Java là ngôn ngữ lập trình thuần hướng đối tượng.  Mọi thứ trong một hệ thống được viết bằng ngôn ngữ java phải được triển khai là đối tượng. Ví dụ: trong một chương trình quản lý giáo vụ nhà trường sẽ bao gồm các đối tượng:  sinh viên (student)  giáo viên (teacher)  môn học (course)  thời khóa biểu (schedule)  lớp học (classroom)  … ĐH Công nghệ Thông tin
  5. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Đối tượng (object)  Lớp (class)  Thể hiện (instance)  Gói (package)  Từ khoá truy cập  Hàm khởi tạo (constructor)  Từ khoá this  Mảng các đối tượng  Từ khoá static, final, abstract, native ĐH Công nghệ Thông tin
  6. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Đối tượng: (object)  Đối tượng đại diện cho một thực thể trong thế giới thật. Ví dụ: 1 ô tô, 1 con người, 1 hình tròn, 1 khoản tiền  Mỗi đối tượng có một identity, state, và các behavior duy nhất (state xác định đối tượng, behavior xác định đối tượng làm cái gì):  State = tập các data field (properties)  Behavior = tập các method (functions) Ví dụ: 1 hình tròn có: Identity (Circle), State (bán kính R), Behavior (Tính diện tích: ComputeArea) ĐH Công nghệ Thông tin
  7. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Lớp: (class)  Lớp là một thiết kế hay mẫu (prototype) chung cho các đối tượng cùng kiểu.  Một lớp bao gồm định nghĩa các thuộc tính và các phương thức chung cho tất cả các đối tượng của cùng một loại nào đó. Ví dụ: lớp SINHVIEN là một thiết kế chung cho nhiều đối tượng sinh viên được tạo ra.  Thể hiện: (instance)  Mỗi đối tượng là một thể hiện cụ thể của một lớp.  Gói: (package)  Là một nhóm các class, interface, các gói khác đã được biên dịch thành Java bytecode. (tương tự như thư mục trong windows) ĐH Công nghệ Thông tin
  8. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Khai báo lớp: (class) class Circle { double radius = 1.0; Data field Circle(){ } Circle(double newRadius){ Contructors radius = newRadius; } double findArea(){ return radius * radius * 3.14159; Methods } } ĐH Công nghệ Thông tin
  9. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP: Tạo đối tượng của lớp: class Circle {…} class Test{ public static void main(…){ Circle myCircle; Khai báo đối tượng myCircle = new Circle(); Tạo đối tượng tham chiếu } } Khai báo và tạo đối tượng của lớp trong 1 dòng lệnh: ClassName objectRef = new ClassName(); Ví dụ: Circle myCircle = new Circle(); ĐH Công nghệ Thông tin
  10. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Truy nhập đối tượng: class Circle {…} class Test{ public static void main(…){ Circle myCircle; myCircle = new Circle(); myCircle.radius= 5.5; Tham chiếu dữ liệu double S; S= myCircle.findArea(); Gọi phương thức } } ĐH Công nghệ Thông tin
  11. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Từ khoá truy cập:  Mặc định: các lớp, biến hoặc dữ liệu có thể được truy nhập bởi bất kỳ lớp nào trong cùng gói (package).  public: lớp, dữ liệu hay phương thức có thể được truy nhập bởi tất cả các lớp trong bất kỳ gói nào.  private: dữ liệu hoặc phương thức chỉ có thể được truy nhập bởi lớp khai báo.  protected: chỉ các lớp con của lớp đó và các lớp trong cùng một gói mới được phép tạo các thể hiện của lớp đó. ĐH Công nghệ Thông tin
  12. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Hàm khởi tạo: (Constructor) class Circle{ double radius = 1.0; Circle(){ } Constructor là một dạng đặc Circle(double newRadius){ biệt của phương thức, được radius = newRadius; } gọi để xây dựng đối tượng. double findArea(){ return radius * radius * 3.14159; } } ĐH Công nghệ Thông tin
  13. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Hàm khởi tạo: (Constructor)  Đặc điểm của Constructor:  Một constructor không có tham số được gọi là default constructor.  Các Constructor phải có cùng tên với class của nó.  Các Constructor không có kiểu dữ liệu trả về, kể cả kiểu void.  Các Constructor được gọi khi sử dụng toán tử new để tạo một đối tượng. Nó đóng vai trò khởi tạo đối tượng. ĐH Công nghệ Thông tin
  14. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Từ khoá this:  Dùng this để:  thay thế cho đối tượng hiện tại.  gọi các constructor khác của đối tượng. class Circle{ double radius = 1.0; Circle(double radius){ Dùng từ khoá this để this.radius = radius; chỉ rõ radius của đối } tượng hiện tại } ĐH Công nghệ Thông tin
  15.  Ví dụ: xây dựng lớp Rectangle như lược đồ UML sau: Rectangle - width: double chiều rộng hình chữ nhật - height: double chiều dài hình chữ nhật - color: String màu hình chữ nhật + Rectangle() Tạo một HCN với c.dài = 1, c.rộng = 1 + Rectangle(width: double, height: Tạo một HCN với c.dài và c.rộng double, color: String) xác định trong tham số + getWidth(): double Trả về chiều rộng HCN + setWidth(width: double): void Thiết lập chiều rộng mới cho HCN + getHeight(): double Trả về chiều dài HCN + setHeight(height: double): void Thiết lập chiều dài mới cho HCN + getColor(): String Trả về màu của HCN + setColor(width: String): void Thiết lập màu mới cho HCN + findArea(): double Trả về diện tích HCN + findPerimeter(): double Trả về chu vi HCN Ứng dụng viết lớp testRectangle để kiểm tra lớp Rectangle đã xây dựng, gồm:  Tạo đối tượng Rectangle. Ấn định chiều dài 40 và chiều rộng 4, màu vàng.  Hiển thị các thuộc tính của đối tượng  tính diện tích hình chữ nhật.
  16. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Mảng các đối tượng:  Một mảng các đối tượng thực chất là mảng các biến tham chiếu.  Các bước sử dụng mảng các đối tượng:  Khai báo và tạo mảng các đối tượng: Circle[] circleArray = new Circle[10];  Khởi tạo cho từng đối tượng trong mảng: for (int i=0; i
  17. www.sites.google.com/site/khaiphong LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG B Các khái niệm liên quan OOP:  Từ khoá static, final, abstract, native:  static: cho biết dữ liệu và phương thức là chung cho lớp chứ không phải của thể hiện (instance).  final: cho biết một lớp, dữ liệu hay phương thức là cuối, không được phép overridden bởi một thành phần con nào khác.  abstract: cho biết một lớp hay phương thức là trừu tượng không cài đặt gì cả.  native: cho biết một phương thức được lập trình bởi một ngôn ngữ lập trình khác. (Ví dụ: native myMethod();  phương thức myMethod có thể được tạo bởi một ngôn ngữ lập trình khác java) ĐH Công nghệ Thông tin
  18.  Ví dụ 1: từ khoá static dùng cho thuộc tính dữ liệu Biến dữ liệu của thể hiện instance Biến dữ liệu của lớp
  19.  Ví dụ 2: từ khoá static giữa dữ liệu và phương thức Error: phương thức static không được phép truy cập thành dữ liệu không thuộc static.
  20.  Ví dụ 3: sử dụng phương thức tĩnh static Đối với phương thức non-static cần phải có đối tượng gọi trước nó Đối với phương thức static KHÔNG CẦN phải có đối tượng gọi trước nó
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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