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 java: Chương 4 - ThS. Hoàng Mạnh Hà

Chia sẻ: Zcsdf Zcsdf | Ngày: | Loại File: PPTX | Số trang:13

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

Nội dung cơ bản chương 4 Lập trình hướng đối tượng trong JAVA nằm trong bài giảng Lập trình java trình bày đối tượng. Đối tượng là khái niệm cơ bản, quan trọng nhất của lập trình hướng đối tượng (Object-oriented programming – OOP). Mỗi đối tượng được xác định bởi định danh (Identifier).

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình java: Chương 4 - ThS. Hoàng Mạnh Hà

  1. Lập trình Java Lập trình hướng đối tượng trong JAVA ThS. Hoàng Mạnh Hà hoangha84@gmail.com https:// sites.google.com/site/hoangha84
  2. Đối tượng (Object)  Là khái niệm cơ bản, quan trọng nhất của lập trình hướng đối tượng (Object-oriented programming – OOP).  Mỗi đối tượng được xác định bởi định danh (Identifier)  Gồm 2 thành phần: thuộc tính và phương thức.  VD: Person, car, bicycle, …  Được xem như một cấu trúc gộp cả dữ liệu với phương thức thao tác trên dữ liệu đó. 2 SGU - CNTT - Lập Trình JAVA
  3. Class và Instances  Class (Lớp) là một kiểu chung cho tất cả các đối tượng có cùng đặc trưng.  Instances (Thể hiện): là các đối tượng cụ thể trong lớp.  VD: Lớp Student có các thể hiện là “Bắc”, “Nam”, “Đông”, … 3 SGU - CNTT - Lập Trình JAVA
  4. 4 tính chất của OOP  Tính trừu tượng (Abstraction): bỏ qua các tính chất phức tạp, chỉ đưa ra các thuộc tính và phương thức cần thiết cho đối tượng.  Tính đóng gói (Encapsulation): sự truy xuất các thành phần dữ liệu của đối tượng chỉ được phép khi thông qua các phương thức của đối tượng.  Tính kế thừa (Inheritance): cho phép xây dựng một lớp dựa trên lớp có sẵn.  Tính đa hình (Polymorphism): cho phép thực hiện các xử lý khác nhau tương ứng cho các đối tượng khác nhau với cùng một thông điệp 4 Overloading: các phương -thậpcTrình JAVA khác tham số SGU - CNTT L ứ cùng tên,
  5. Static Method  Đa số các phương thức được chạy bằng cách gọi chúng từ các đối tượng cụ thể (gọi từ Instance)  Một số phương thức được gắn trực tiếp với class bằng từ khóa static.  Thường dùng cho các phương thức phổ biến, được sử dụng thường xuyên của class.  Khi đó có thể gọi phương thức trực tiếp thông qua class: Class.methodName(parameters) 5 SGU - CNTT - Lập Trình JAVA
  6. Method Overloading  Các method có thể có cùng tên trong cùng class nếu chúng khác tham số đầu vào, gọi là Method Overloading.  Khi đó, trình biên dịch sẽ lựa chọn phương thức phù hợp dựa trên tập tham số đầu vào: số lượng, kiểu, thứ tự tham số.  Thường dùng để tạo các phương thức có chức năng tương tự nhau dựa trên các tham số đầu vào khác nhau. 6 SGU - CNTT - Lập Trình JAVA
  7. Tính kế thừa (Inheritance)  Một class kế thừa từ một class khác.  Class cha: superclass  Class con: subclass  Direct superclass / Indirect superclass  Trong Java tất cả mọi class đều kế thừa từ class Object.  Trong Java chỉ có kế thừa đơn. 7 SGU - CNTT - Lập Trình JAVA
  8. Access modifier public, private, protected  public: truy xuất từ tất cả các đối tượng của class.  private: chỉ cho phép truy xuất trong chính class.  protected: cho phép truy xuất trong chính class đó, class con kế thừa nó hoặc những class trong cùng package. 8 SGU - CNTT - Lập Trình JAVA
  9. Abstract Classes and Methods  Trong một số trường hợp, ta cần tạo ra class mà không cần tạo đối tượng từ nó: Abstract Class  Những lớp kế thừa từ Abstract Class phải xây dựng bổ sung những phương thức cụ thể để có thể tạo object nếu không thì class kế thừa đó vẫn là một abstract class.  Thường dùng để tạo ra các khuôn mẫu cho các class con. 9 SGU - CNTT - Lập Trình JAVA
  10. final methods and classes  Các final method không được phép override ở class con.  Các final class không thể có class con. 10 SGU - CNTT - Lập Trình JAVA
  11. Abstract Classes Compared to Interfaces  Abstract classes are similar to interfaces.  With abstract classes, you can declare fields that are not static and final, and define public, protected, and private concrete methods.  With interfaces, all fields are automatically public, static, and final, and all methods that you declare or define (as default methods) are public.  In addition, you can extend only one class, whether or not it is abstract, whereas you can implement any number of interfaces. 11 SGU - CNTT - Lập Trình JAVA
  12. Abstract classes or interfaces?  Consider using abstract classes if any of these statements apply to your situation:  You want to share code among several closely related classes.  You expect that classes that extend your abstract class have many common methods or fields, or require access modifiers other than public (such as protected and private).  You want to declare non-static or non-final fields. This enables you to define methods that can access and modify the state of the object to which they belong. 12 SGU - CNTT - Lập Trình JAVA
  13. Abstract classes or interfaces?  Consider using interfaces if any of these statements apply to your situation:  You expect that unrelated classes would implement your interface. For example, the interfaces Comparable and Clone-able are implemented by many unrelated classes.  You want to specify the behavior of a particular data type, but not concerned about who implements its behavior.  You want to take advantage of multiple inheritance of type. 13 SGU - CNTT - Lập Trình JAVA
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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