Java – Tính trừu tượng, Theo từ điển, tính trừu tượng là chất lượng của việc xử lý các ý tưởng hơn là các sự kiện. Ví dụ: khi bạn xem xét trường hợp của e-mail, các chi tiết phức tạp như

Bạn đang xem: java trừu tượng là gì

Java – Abstraction

Quảng cáo

Theo từ điển, tính trừu tượng là chất lượng của việc xử lý các ý tưởng hơn là các sự kiện. Ví dụ, khi bạn xem xét trường hợp của e-mail, các chi tiết phức tạp như điều gì xảy ra ngay sau khi bạn gửi e-mail, giao thức mà máy chủ e-mail của bạn sử dụng đều bị ẩn khỏi người dùng. Do đó, để gửi e-mail, bạn chỉ cần nhập nội dung, đề cập đến địa chỉ của người nhận và bấm gửi.

Tương tự như vậy trong lập trình hướng đối tượng, trừu tượng hóa là một quá trình ẩn chi tiết triển khai khỏi người dùng, chỉ chức năng sẽ được cung cấp cho người dùng. Nói cách khác, người dùng sẽ có thông tin về những gì đối tượng thực hiện thay vì cách nó thực hiện.

Trong Java, tính trừu tượng đạt được bằng cách sử dụng các lớp và giao diện trừu tượng.

Lớp Tóm tắt

Một lớp có chứa từ khóa trừu tượng trong khai báo của nó được gọi là lớp trừu tượng.

  • Các lớp trừu tượng có thể chứa hoặc không, tức là các phương thức không có nội dung (public void get ();)

  • Tuy nhiên, nếu một lớp có ít nhất một phương thức trừu tượng, thì lớp đó phải được khai báo là trừu tượng.

  • Nếu một lớp được khai báo là trừu tượng, thì nó không thể được khởi tạo.

  • Để sử dụng một lớp trừu tượng, bạn phải kế thừa nó từ một lớp khác, cung cấp các triển khai cho các phương thức trừu tượng trong đó.

  • Nếu bạn kế thừa một lớp trừu tượng, bạn phải cung cấp triển khai cho tất cả các phương thức trừu tượng trong đó.

Ví dụ

Phần này cung cấp cho bạn một ví dụ về lớp trừu tượng. Để tạo một lớp trừu tượng, chỉ cần sử dụng từ khóa trừu tượng trước từ khóa lớp, trong khai báo lớp.

/ * Tên tệp: Employee.java * /
lớp trừu tượng công khai Nhân viên {
   tên chuỗi riêng;
   địa chỉ chuỗi riêng;
   số int riêng;

   nhân viên công cộng (Tên chuỗi, địa chỉ chuỗi, số int) {
      System.out.println ("Xây dựng Nhân viên");
      this.name = tên;
      this.address = địa chỉ;
      this.number = số;
   }
   
   public double computePay () {
     System.out.println ("Bên trong nhân viên computePay");
     trả về 0,0;
   }
   
   public void mailCheck () {
      System.out.println ("Gửi séc tới" + this.name + "" + this.address);
   }

   public String toString () {
      trả về tên + "" + địa chỉ + "" + số;
   }

   public String getName () {
      trả lại tên;
   }
 
   public String getAddress () {
      địa chỉ trả hàng;
   }
   
   public void setAddress (String newAddress) {
      địa chỉ = newAddress;
   }
 
   public int getNumber () {
      trả lại số;
   }
}

Bạn có thể thấy rằng ngoại trừ các phương thức trừu tượng, lớp Employee giống như lớp bình thường trong Java. Lớp bây giờ là trừu tượng, nhưng nó vẫn có ba trường, bảy phương thức và một phương thức khởi tạo.

Xem Thêm  Thêm lớp vào Phần tử được nhấp bằng JavaScript - onclick thêm lớp javascript

Bây giờ, bạn có thể thử khởi tạo lớp Nhân viên theo cách sau –

/ * Tên tệp: AbstractDemo.java * /
lớp công khai AbstractDemo {

   public static void main (String [] args) {
      / * Sau đây không được phép và sẽ gây ra lỗi * /
      Nhân viên e = Nhân viên mới ("George W.", "Houston, TX", 43);
      System.out.println ("\ n Gọi mailCheck bằng cách sử dụng tham chiếu Nhân viên--");
      e.mailCheck ();
   }
}

Khi bạn biên dịch lớp trên, nó gây ra lỗi sau –

Employee.java:46: Nhân viên là trừu tượng; không thể được khởi tạo
      Nhân viên e = Nhân viên mới ("George W.", "Houston, TX", 43);
                   ^
1 lỗi

Kế thừa Lớp Tóm tắt

Chúng ta có thể kế thừa các thuộc tính của lớp Employee giống như lớp cụ thể theo cách sau –

Ví dụ

/ * Tên tệp: Salary.java * /
giai cấp công cộng Mức lương mở rộng Nhân viên {
   lương gấp đôi tư nhân; // Mức lương hàng năm
   
   lương công khai (Tên chuỗi, địa chỉ chuỗi, số int, mức lương gấp đôi) {
      super (tên, địa chỉ, số);
      setSalary (tiền lương);
   }
   
   public void mailCheck () {
      System.out.println ("Trong mailCheck của hạng Lương");
      System.out.println ("Gửi séc đến" + getName () + "có lương" + lương);
   }
 
   public double getSalary () {
      trả lại tiền lương;
   }
   
   public void setSalary (double newSalary) {
      if (newSalary & gt; = 0.0) {
         tiền lương = newSalary;
      }
   }
   
   public double computePay () {
      System.out.println ("Tính toán lương phải trả cho" + getName ());
      hoàn lương / 52;
   }
}

Tại đây, bạn không thể khởi tạo lớp Nhân viên, nhưng bạn có thể khởi tạo Lớp lương và sử dụng trường hợp này, bạn có thể truy cập tất cả ba trường và bảy phương thức của lớp Nhân viên như được hiển thị bên dưới.

/ * Tên tệp: AbstractDemo.java * /
lớp công khai AbstractDemo {

   public static void main (String [] args) {
      Lương s = Lương mới ("Mohd Mohtashim", "Ambehta, UP", 3, 3600,00);
      Nhân viên e = mới Mức lương ("John Adams", "Boston, MA", 2, 2400,00);
      System.out.println ("Gọi mailCheck sử dụng Tham chiếu lương -");
      s.mailCheck ();
      System.out.println ("\ n Gọi mailCheck bằng cách sử dụng tham chiếu Nhân viên--");
      e.mailCheck ();
   }
}

Điều này tạo ra kết quả sau –

Xem Thêm  INSERT INTO SELECT tổng quan và ví dụ về câu lệnh - chèn sql vào bảng chọn

Đầu ra

Xây dựng một nhân viên
Xây dựng một nhân viên
Gọi mailCheck sử dụng Tham chiếu lương -
Trong mailCheck of Lương hạng
Gửi séc qua thư cho Mohd Mohtashim với mức lương 3600.0

 Gọi mail Kiểm tra bằng cách sử dụng Tham chiếu nhân viên--
Trong mailCheck of Lương hạng
Gửi séc qua thư cho John Adams với mức lương 2400,0

Phương pháp Tóm tắt

Nếu bạn muốn một lớp chứa một phương thức cụ thể nhưng bạn muốn việc triển khai thực tế của phương thức đó được xác định bởi các lớp con, bạn có thể khai báo phương thức trong lớp cha dưới dạng tóm tắt.

    Từ khóa

  • trừu tượng được sử dụng để khai báo phương thức là trừu tượng.

  • Bạn phải đặt từ khoá trừu tượng trước tên phương thức trong khai báo phương thức.

  • Một phương thức trừu tượng chứa một chữ ký phương thức, nhưng không có nội dung phương thức.

  • Thay vì dấu ngoặc nhọn, một phương thức trừu tượng sẽ có dấu hai chấm semoi (;) ở cuối.

Sau đây là một ví dụ về phương thức trừu tượng.

Ví dụ

lớp trừu tượng công khai Nhân viên {
   tên chuỗi riêng;
   địa chỉ chuỗi riêng;
   số int riêng;
   
   public trừu tượng kép computePay ();
   // Phần còn lại của định nghĩa lớp
}

Khai báo một phương thức dưới dạng trừu tượng có hai hậu quả –

  • Lớp chứa nó phải được khai báo là trừu tượng.

  • Bất kỳ lớp nào kế thừa lớp hiện tại đều phải ghi đè phương thức trừu tượng hoặc khai báo chính nó là lớp trừu tượng.

Lưu ý – Cuối cùng, một lớp con phải triển khai phương thức trừu tượng; nếu không, bạn sẽ có một hệ thống phân cấp các lớp trừu tượng không thể khởi tạo được.

Giả sử lớp Salary kế thừa lớp Employee, thì nó sẽ triển khai phương thức computePay () như hình dưới đây –

/ * Tên tệp: Salary.java * /
giai cấp công cộng Mức lương mở rộng Nhân viên {
   lương gấp đôi tư nhân; // Mức lương hàng năm
  
   public double computePay () {
      System.out.println ("Tính toán lương phải trả cho" + getName ());
      hoàn lương / 52;
   }
   // Phần còn lại của định nghĩa lớp
}

Quảng cáo

Xem Thêm  JavaScript Split - Cách tách một chuỗi thành một mảng trong JS - cách biến chuỗi thành javascript mảng


Xem thêm những thông tin liên quan đến chủ đề java trừu tượng là gì

Java – Bài 45: Lớp trừu tượng

  • Tác giả: thân triệu
  • Ngày đăng: 2020-02-07
  • Đánh giá: 4 ⭐ ( 5147 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn học lập trình Java cơ bản và nâng cao. Lớp trừu tượng trong ngôn ngữ lập trình Java. Học lập trình Java cơ bản và nâng cao. Học lập trình đầy đủ và cập nhật trên kênh thân triệu. thân triệu channel-let’s grow together!

Tính trừu tượng trong Java

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 3 ⭐ ( 3170 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tính trừu tượng (Abstraction) trong Java hướng đến khả năng tạo một đối tượng trừu tượng trong lập trình hướng đối tượng.

[Java Core] Trừu tượng trong OOP là gì?

  • Tác giả: www.codelean.vn
  • Đánh giá: 3 ⭐ ( 8193 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: CodeLean.vn là nơi chia sẻ kiến thức của những người học, làm và dạy trong lĩnh vực công nghệ thông tin.

Abstract Class (Lớp trừu tượng) là gì? Abstract Method (Phương thức trừu tượng) trong là gì? Các ví dụ minh họa trong Java.

  • Tác giả: vncoder.vn
  • Đánh giá: 5 ⭐ ( 7340 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết này chúng ta sẽ đi tìm hiểu về Abstract Class và Abstract Method trong Java, cách sử dụng và các ví dụ minh họa.

Phương thức và lớp trừu tượng trong Java

  • Tác giả: codefly.vn
  • Đánh giá: 4 ⭐ ( 9716 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Tính trừu tượng (Abstraction) trong Java

  • Tác giả: freetuts.net
  • Đánh giá: 5 ⭐ ( 4644 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này, tôi sẽ giới thiệu đến các bạn tính chất cuối cùng trong lập trình hướng đối tượng đó là tính trừu tượng (Abstraction) và cách vận dụng tính.

Lớp trừu tượng trong Java – Nắm vững khái niệm về abstract trong Java

  • Tác giả: t3h.com.vn
  • Đánh giá: 5 ⭐ ( 5338 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lớp trừu tượng trong Java là lớp đại diện cho một khái niệm và không thể tạo đối tượng của nó.Tìm hiểu khái niệm cơ bản về Lớp trừu tượng Java ngay sau đây

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php