Skip to content
Rikkei AcademyRikkei Academy
  • Khóa học

    Hướng dẫn bởi những giảng viên chất lượng từ các trường đại học công nghệ top đầu Việt Nam

    Kiểm tra độ phù hợp

    5 phút kiểm tra nhanh liệu bạn có phù hợp với ngành Công nghệ thông tin

    Tìm hiểu thêm
    Cho người mới bắt đầu

    Bắt đầu sự nghiệp lập trình từ con số 0 với lộ trình học tập chỉ sau 6 tháng

    Tìm hiểu thêm
    Lập trình viên Nhật Bản

    Bắt đầu sự nghiệp lập trình với khả năng tiếng Nhật từ N3

    Tìm hiểu thêm
    Phân tích dữ liệu - HUST

    Nâng cấp nghiệp vụ, tiến bước sự nghiệp với phân tích dữ liệu

    Tìm hiểu thêm
    Kỹ sư Công nghệ thông tin - PTIT

    Trở thành Kỹ sư Công nghệ thông tin trong thời đại số

    Tìm hiểu thêm
    IT Fresher - Rikkei Certificate

    Trở thành IT Fresher với khởi đầu khác biệt, doanh nghiệp săn đón

    Tìm hiểu thêm
  • Tài nguyên
    • Icon1Tài nguyên học tập
      • Blog
      • Kiến thức chuyên môn
      • Khám phá Nhật Bản
    • Icon Menu1Tin tức công nghệ
      • What’s New – What’s Next?
      • Thông tin sự kiện
  • Vì sao chọn Rikkei Education
    • Về Rikkei Education
    • Hệ sinh thái Rikkei
    • Nhân sự Rikkei Education
    • Cộng đồng RA Alumni
    • Ươm mầm xanh & CSR
    • Cơ hội nghề nghiệp
  • Ngôn ngữ
    • Tiếng Việt
    • Tiếng Anh
    • Tiếng Nhật
Trang chủ / Kiến thức chuyên môn / 5 Phút Tìm Hiểu Về Abstract Class Trong Java
  • Dành cho người mới bắt đầu
  • Dành cho người đã có nền tảng
  • Dành cho người muốn đi Nhật
  • Nhận kho tài liệu miễn phí
Test tư duy lập trình miễn phí

Đăng ký nhận tin tức từ Rikkei Academy

    28/05/2023

    5 Phút Tìm Hiểu Về Abstract Class Trong Java

    Phí Thanh 04 phút đọc
    Abstract Class Trong Java Rikkei Academy

    Mục lục

    Toggle
    • Abstraction là gì trong Java?
    • Abstract class trong Java là gì?
      • Mục đích sử dụng của Abstract Class trong Java
      • Lưu ý về lớp abstract trong Java
    • Các thao tác cơ bản với Abstract Class trong Java
      • Khai báo Abstract Class trong Java
      • Khai báo một phương thức trừu tượng
      • Ghi đè phương thức trừu tượng
      • Kế thừa từ một lớp trừu tượng
    • Kết luận

    Nếu đã tìm hiểu khái niệm Class thì Abstract Class chắc hẳn không còn xa lạ với bạn, vậy bạn đã biết gì về Abstract Class trong Java? Nếu chưa, hãy cùng Rikkei Academy tìm hiểu về qua bài viết này nhé!

    Abstraction là gì trong Java?

    Tính trừu tượng (Abstraction) trong Java là khả năng mô tả và tập trung vào các đặc tính quan trọng của một đối tượng, bỏ qua các chi tiết không quan trọng, và tạo ra các lớp, phương thức và thuộc tính trừu tượng để thể hiện các tính năng của đối tượng đó. Tính trừu tượng trong Java được thực hiện thông qua các cơ chế:

    • Lớp trừu tượng (abstract class)
    • Giao diện (Interface)

    Abstract class trong Java là gì?

    Abstract class là một lớp trừu tượng mà không thể được khởi tạo trực tiếp. Nó được sử dụng để định nghĩa các phương thức trừu tượng mà các lớp con cần triển khai

    Nó chứa ít nhất một phương thức trừu tượng, tức là phương thức không có phần thân hàm, và được khai báo bằng từ khóa “abstract”. Các lớp con của lớp trừu tượng phải triển khai tất cả các phương thức trừu tượng của lớp cha trừu tượng để có thể được khởi tạo.

    Mục đích sử dụng của Abstract Class trong Java

    Abstract Class trong Java được sử dụng vì các mục đích sau:

    • Lớp trừu tượng trong Java cung cấp một mẫu (template) để triển khai quá trình trừu tượng dữ liệu bằng cách giấu đi chi tiết cài đặt. Nó cũng cung cấp cho người sử dụng cuối một mẫu mô tả các phương thức có sẵn.
    • Trừu tượng hóa dữ liệu trong Java giúp giảm sự phụ thuộc (Loose Coupling) giữa các thành phần của chương trình, giúp tăng tính linh hoạt và dễ bảo trì.
    • Sử dụng lớp trừu tượng cho phép tái sử dụng mã (Code Reusability) giúp tiết kiệm thời gian. Các phương thức trừu tượng có thể được triển khai lại trong các lớp con.
    • Bằng cách sử dụng hỗ trợ của quá trình giải quyết phương thức động (Dynamic Resolution), lập trình viên có thể giải quyết nhiều vấn đề với sự trợ giúp của một phương thức trừu tượng.
    Đặc điểm của Abstract Class trong Java
    Đặc điểm của Abstract Class trong Java

    Lưu ý về lớp abstract trong Java

    • Nó không thể được khởi tạo.
    • Nó có thể có các phương thức trừu tượng và phương thức không trừu tượng.
    • Nó có thể có các phương thức khởi tạo (constructor) và phương thức tĩnh (static method).
    • Nó có thể có các phương thức cuối cùng (final) được dùng để buộc lớp con không được thay đổi nội dung của phương thức.

    Các thao tác cơ bản với Abstract Class trong Java

    Dưới đây là một số thao tác với Abstract Class trong Java cơ bản mà bạn cần nắm rõ:

    Khai báo Abstract Class trong Java

    Để khai báo một lớp trừu tượng trong Java, ta sử dụng từ khóa “abstract” và đặt nó trước tên lớp. Cú pháp chính xác để khai báo một lớp trừu tượng như sau:

    <Access_Modifier> abstract class <Class_Name> {

    //Data_Members;

    //Statements;

    //Methods;

    }

    Trong đó:

    • Access_Modifier: từ khóa chỉ định quyền truy cập của lớp trừu tượng.
    • Abstract class: từ khóa định nghĩa một lớp trừu tượng.
    • Class_Name: tên lớp trừu tượng.
    • Data_Members: các biến thành viên (member variables) của lớp trừu tượng
    • Statements: các câu lệnh, chú thích hoặc bất kỳ nội dung nào khác bạn muốn đặt trong lớp trừu tượng.
    • Method: phương thức của lớp trừu tượng có thể là phương thức trừu tượng (abstract method), phương thức không trừu tượng (non-abstract method) hoặc cả hai.

    Ví dụ:

    public abstract class Animal {

    public abstract void makeSound();

    }

    Trong ví dụ này, chúng ta khai báo một lớp trừu tượng Animal, có một abstract method là makeSound().

    Khai báo một phương thức trừu tượng

    Phương thức trừu tượng: Là một phương thức được khai báo là trừu tượng và không có thân hàm. Các abstract method (phương thức trừu tượng) cho phép định nghĩa các hành động hoặc tính năng của đối tượng mà không cần cung cấp các chi tiết cụ thể về cách thực hiện hành động (mã lệnh) đó. Các lớp con sẽ phải triển khai các abstract methods này để cung cấp các chi tiết cụ thể về cách thực hiện các hành động đó.

    Để khai báo một phương thức trừu tượng, chúng ta sử dụng từ khóa “abstract” trước khai báo phương thức và không có thân hàm (body) cho phương thức đó.

    Cú pháp:

    abstract <modifier> <return_type> <method_name>(<parameter_list>);

    Trong đó:

    • abstract: từ khóa để khai báo phương thức trừu tượng.
    • modifier: các từ khóa truy cập.
    • return_type: kiểu dữ liệu của giá trị trả về của phương thức hoặc từ khóa void nếu phương thức không trả về giá trị nào.
    • method_name: tên phương thức.
    • parameter_list: danh sách các tham số của phương thức, được phân tách bằng dấu phẩy (,).

    Ví dụ:

    public abstract void makeSound();

    Ghi đè phương thức trừu tượng

    Lớp con phải triển khai lại tất cả các phương thức trừu tượng của lớp cha hoặc định nghĩa lại lớp con là một lớp trừu tượng. Việc ghi đè phương thức trừu tượng cho phép các lớp con tuỳ chỉnh triển khai của phương thức trừu tượng theo nhu cầu của chúng.

    Khi lớp con triển khai lại một phương thức trừu tượng, chúng ta sử dụng từ khóa “override” để đánh dấu phương thức đó là phương thức được ghi đè. Cú pháp:

    @Override

    <modifier> <return_type> <method_name>(<parameter_list>) {

        // code implementation

    }

    Ví dụ:

      @Override

    public void makeSound() {

    System.out.println(“Bark!”);

    }

    }

    Kế thừa từ một lớp trừu tượng

    Do lớp trừu tượng không thể tạo ra đối tượng hoặc triển khai trực tiếp từ lớp đó. Do đó, để truy cập các phương thức bên trong các lớp trừu tượng, chúng ta phải thực hiện kế thừa từ lớp trừu tượng đó bằng cách sử dụng từ khóa “extends” trong khai báo lớp con. Lớp con phải triển khai tất cả các phương thức trừu tượng có trong lớp cha trừ khi lớp con cũng là một lớp trừu tượng.

    Cú pháp:

    abstract class TenLopCha {

    // các phương thức trừu tượng

    }

    class TenLopCon extends TenLopCha {

    // định nghĩa các phương thức trừu tượng và/hoặc phương thức khác

    }

    Ví dụ:

    public class Dog extends Animal {

    // code here

    }

    Kết luận

    Bài viết này đã cung cấp các thông tin chi tiết về Abstract class trong Java từ khái niệm, đặc điểm đến một số thao tác làm việc cơ bản. Hy vọng những thông tin này sẽ giúp ích cho bạn trong quá trình tìm hiểu về ngôn ngữ lập trình Java.

    Nếu bạn đang muốn tìm kiếm khóa học lập trình Java cho người mới bắt đầu, tham khảo Rikkei Academy nhé! Lộ trình tinh gọn với kiến thức, kỹ năng bám sát thực tế giúp bạn nắm vững nền tảng để trở thành lập trình viên tiêu chuẩn chỉ sau 6 tháng! Đăng ký để nhận tư vấn và buổi học trải nghiệm cùng giảng viên Rikkei Academy!

    Tài liệu tham khảo:

    https://www.simplilearn.com/tutorials/java-tutorial/abstract-class-in-java

    https://www.javatpoint.com/abstract-class-in-java

    https://www.geeksforgeeks.org/difference-between-abstract-class-and-interface-in-java/

    Bài viết cùng chủ đề

    • Lop Va Doi Tuong Trong Java 29/05/202304 phút đọc Lớp Và Đối Tượng Trong Java: Mối Quan Hệ Và Sự Khác Biệt
    • Sự khác biệt giữa front và back end là gì? 21/12/202204 phút đọc Sự khác biệt giữa Front end và Back end là gì?
    • học lập trình có khó không 29/08/202204 phút đọc Học lập trình có khó không?
    • Overloading Trong Java Rikkei Academy 19/07/202304 phút đọc Overloading Trong Java: Mọi Thứ Bạn Cần Biết Về Nạp Chồng
    • Lộ trình học lập trình cho người mới bắt đầu 09/06/202204 phút đọc LỘ TRÌNH HỌC LẬP TRÌNH CHO NGƯỜI MỚI BẮT ĐẦU TỪ A-Z
    • Interface Va Abstract Class Java 29/05/202304 phút đọc Interface Và Abstract Class Java: Khác Biệt Và Cách Sử Dụng

    Logorikkei

    Công ty TNHH Rikkei Education

    • Tổ chức quản lý trang thông tin: Công ty TNHH Rikkei Education
    • Quản lý trang thông tin: Nguyễn Văn Nam (phòng Marketing)

     

    Trụ sở Hà Nội: Tầng 7 tháp A toà Sông Đà, đường Phạm Hùng, quận Nam Từ Liêm, Hà Nội

    Hotline: 0862 069 233

    Email: academy@rikkeisoft.com

    Khoá học
    • Cho người mới bắt đầu
    • Lập trình viên Nhật Bản
    • Kỹ sư CNTT – PTIT
    • Data Analysis – HUST
    • IT Fresher – Rikkei Certificate
    Tài nguyên
    • Blog
    • Kiến thức chuyên môn
    • Khám phá Nhật Bản
    • Thông tin sự kiện
    • What’s New – What’s Next?
    Vì sao chọn Rikkei Education
    • Về Rikkei Education
    • Hệ sinh thái Rikkei
    • Nhân sự Rikkei Education
    • Cộng đồng RA Alumni
    • Uơm mầm xanh & CSR
    • Cơ hội nghề nghiệp
    Cơ sở 1

    Tầng 7, khối A tòa nhà Sông Đà, đường Phạm Hùng , Phường Mỹ Đình 1, Quận Nam Từ Liêm, Hà Nội.

    Hotline: 0862 069 233

    Cơ sở 2

    Tầng 22, khối A tòa nhà Sông Đà, đường Phạm Hùng , Phường Mỹ Đình 1, Quận Nam Từ Liêm, Hà Nội.

    Hotline: 086 206 9233

    Cơ sở 3

    Tầng 4, tòa nhà Ricco, số 363 Nguyễn Hữu Thọ, phường Khuê Trung, Quận Cẩm Lệ, Đà Nẵng

    Hotline: 0904 694 869

    Cơ sở 4

    Tầng 12, Tòa nhà Đảm Bảo An Toàn Hàng Hải phía Nam Số 42 đường Tự Cường, phường 4, Tân Bình, TP. Hồ Chí Minh.

    Cơ sở 5

    Tầng 3, toà TSA Bulding, Số 77 Lê Trung Nghĩa, Phường 12, Tân Bình, TP. Hồ Chí Minh.

    Hotline: 0962 703 893

    Cơ sở Fukuoka

    Tokan Fukuoka 2nd Building 417 Hiecho 1-chome-18, Hakata-ku, Fukuoka, Japan

    • Nhắn tin qua Zalo
    • Nhắn tin qua Facebook
    • 086 206 92 33
    Copyright 2024 © Rikkei Academy All rights reserved.
    • Khóa học

      Hướng dẫn bởi những giảng viên chất lượng từ các trường đại học công nghệ top đầu Việt Nam

      Kiểm tra độ phù hợp

      5 phút kiểm tra nhanh liệu bạn có phù hợp với Công nghệ thông tin

      Tìm hiểu thêm
      Cho người mới bắt đầu

      Bắt đầu từ con số 0 với lộ trình học tập trong 6 tháng

      Tìm hiểu thêm
      Lập trình viên Nhật Bản

      Bắt đầu sự nghiệp lập trình với khả năng tiếng Nhật

      Tìm hiểu thêm
      Phân tích dữ liệu - HUST

      Nâng cấp nghiệp vụ, tiến bước sự nghiệp với phân tích dữ liệu

      Tìm hiểu thêm
      Kỹ sư Công nghệ thông tin - PTIT

      Trở thành Kỹ sư Công nghệ thông tin trong thời đại số

      Tìm hiểu thêm
      IT Fresher - Rikkei Certificate

      Trở thành IT Fresher với khởi đầu khác biệt, doanh nghiệp săn đón

      Tìm hiểu thêm
    • Khóa học
    • Tài nguyên
      • Icon1Tài nguyên học tập
        • Blog
        • Kiến thức chuyên môn
        • Khám phá Nhật Bản
      • Icon Menu1Tin tức công nghệ
        • What’s New – What’s Next?
        • Thông tin sự kiện
    • Vì sao chọn Rikkei Education
      • Về Rikkei Education
      • Hệ sinh thái Rikkei
      • Nhân sự Rikkei Education
      • Cộng đồng RA Alumni
      • Ươm mầm xanh & CSR
      • Cơ hội nghề nghiệp
    • Ngôn ngữ
      • Tiếng Việt
      • Tiếng Anh
      • Tiếng Nhật