Đóng gói & bộ sửa đổi truy cập

Nhập môn Lập trình Hướng đối tượng với Java

Sani Yusuf

Lead Software Engineering Content Developer

Hiểu về đóng gói

  • Có thể minh họa đóng gói bằng điện thoại di động
  • Bạn chỉ truy cập các tính năng được lộ ra như màn hình, loa, v.v.
  • Bên trong hoàn toàn ẩn với người dùng

Điện thoại di động

Nhập môn Lập trình Hướng đối tượng với Java

Thuộc tính public

  • Thuộc tính public có thể truy cập qua instance đối tượng

  class Car {
    // Public property
    public String color;


// Public constructor public Car(String color){ this.color = color; } }

    public class Main {

      // main method
      public static void main(String[] args) {
          Car myCar = new Car("brown");
          // Có thể truy cập thành viên public 
          // từ instance đối tượng
          System.out.println(
            myCar.color); // Brown
        }
      }

Nhập môn Lập trình Hướng đối tượng với Java

Thuộc tính private

  • Thuộc tính private có thể truy cập bởi instance đối tượng
  • Thuộc tính private chỉ dùng trong nội bộ lớp

  // Car class
  class Car {
     public String color;

// Private properties private String model;
public Car(String color){ this.color = color; } }

    // Main class
    public class Main {
      // main method
      public static void main(String[] args) {
          Car myCar = new Car("brown");
          // Gọi thuộc tính private gây lỗi        
          System.out.println(
            myCar.model); // Java compilation error
        }
      }


Nhập môn Lập trình Hướng đối tượng với Java

Phương thức public


  // Car class
  class Car {
      public String color;
      private String model;

      public Car(String color){
          this.color = color;
      }

      // Public method
      public String getModel(){
          return this.model;
      }    
  }    

Nhập môn Lập trình Hướng đối tượng với Java

Phương thức private


  class Car {


// Private method, "calculateSpeed" can only be used within "Car" class private calculateSpeed(){ // Trademarked formula code } public int getSpeed(){ // "calculateSpeed" can be used anywhere within "Car" class return this.calculateSpeed(); } }
Nhập môn Lập trình Hướng đối tượng với Java

Phương thức static

  • Thuộc tính static có thể truy cập không cần tạo đối tượng
  • Thường dùng cho mã/thư viện dùng chung

   // Formula class 
   static class Formula {

     // Method for calculating square
     static int getSquare(int number) {
        return number * number;
      }
   }





  // Main class 
  public class Main {

    public static void 
      main(String[] args) {
          // Có thể dùng "getSquare" 
          // mà không cần đối tượng
        System.out.println(
          Formula.getSquare(5)); // 25
      }
  }

Nhập môn Lập trình Hướng đối tượng với Java

Tóm tắt

  • Bộ sửa đổi truy cập: public, private, static
  • Chúng giúp bảo mật ứng dụng
  • static cho phép dùng lớp mà không cần tạo instance
Nhập môn Lập trình Hướng đối tượng với Java

Ayo berlatih!

Nhập môn Lập trình Hướng đối tượng với Java

Preparing Video For Download...