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 / 4 Tính Chất OOP Java Thể Hiện Như Thế Nào?
  • 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

    07/06/2023

    4 Tính Chất OOP Java Thể Hiện Như Thế Nào?

    Phí Thanh 04 phút đọc
    4 Tinh Chat Opp Java Rikkei Academy

    Mục lục

    Toggle
    • OPP là gì?
    • Tính kế thừa (Inheritance)
      • Tính kế thừa thể hiện trong Java
    • Tính đa hình (Polymorphism)
      • Tính đa hình thể hiện trong Java
    • Tính đóng gói (Encapsulation)
      • Tính đóng gói thể hiện trong Java
    • Tính trừu tượng (Abstraction)
      • Tính trừu tượng thể hiện trong Java

    Là một trong những ngôn ngữ lập trình hướng đối tượng (OOP), Java cung cấp các tính chất OOP mạnh mẽ giúp các lập trình viên phát triển các ứng dụng phức tạp. Trong bài viết này, hãy cùng Rikkei Academy tìm hiểu về 4 tính chất OOP Java bao gồm: tính kế thừa, tính đa hình, tính đóng gói và tính trừu tượng.

    OPP là gì?

    Lập trình hướng đối tượng (OOP) là một mô hình lập trình tập trung vào sử dụng “đối tượng” để biểu diễn và thao tác dữ liệu. OPP giúp giải quyết các vấn đề phức tạp trong lập trình bằng cách chia các vấn đề thành các đối tượng nhỏ hơn và dễ quản lý hơn.

    Trong OOP, dữ liệu được đóng gói trong các đối tượng và các đối tượng được xác định bởi các thuộc tính (attributes) và hành vi (methods) của chúng. Ở đây, chúng ta sẽ đi sâu vào 4 tính chất OOP của Java bao gồm trừu tượng (abstraction), đóng gói (Encapsulation), kế thừa (Inheritance) và đa hình (Polymorrphism).

    Tính kế thừa (Inheritance)

    Tình chất đầu tiên trong 4 tính chất OOP Java chính là tính kế thừa. Tính kế thừa cho phép xây dựng các lớp mới trên cơ sở của lớp hiện có. Lớp mới (con) sẽ được kế thừa các thuộc tính và phương thức của lớp cha. Nó tương tự một đứa trẻ sẽ kế thừa các đặc điểm như màu da, màu tóc, cách nói chuyện…của cha mẹ.

    4 Tinh Chat Opp Java Rikkei Academy
    Tính kế thừa tương tự như một đứa trẻ kế thừa các đặc điểm của bố mẹ

    Việc sử dụng kế thừa giúp tiết kiệm thời gian và nỗ lực trong việc lập trình và giảm thiểu lỗi lặp lại. Nó cũng giúp tăng tính tái sử dụng của mã lập trình.

    Tính kế thừa thể hiện trong Java

    Trong Java, để kế thừa các thuộc tính và phương thức của một lớp cha, chúng ta sử dụng từ khóa “extends” khi khai báo lớp con. Ví dụ:

    class Animal {

    // các thuộc tính và phương thức của lớp Animal

    }

    class Dog extends Animal {

    // các thuộc tính và phương thức của lớp Dog

    }

    Ta có lớp Animal với các thuộc tính và phương thức chung cho các loài động vật, chúng ta tạo lớp Dog kế thừa từ lớp Animal thông qua từ khóa “extends”. Các lớp con này có các thuộc tính và phương thức riêng của chúng, nhưng vẫn có các thuộc tính và phương thức chung được kế thừa từ lớp cha Animal.

    Lưu ý: Ngoài ra việc sử dụng từ khóa “extends”, chúng ta có thể sử dụng Interface trong Java để đạt được tính kế thừa.

    Tính đa hình (Polymorphism)

    Tính đa hình (Polymorphism) là khả năng của đối tượng (object) thể hiện các hành vi khác nhau khi được gọi bằng cùng một phương thức. Nó cho phép các đối tượng của các lớp khác nhau có thể đáp ứng một cách khác nhau với cùng một phương thức. Ví dụ, một người với việc di chuyển thì họ có thể lựa chọn đi bộ, chạy hay ngồi phương tiện.

    Tính đa hình giúp làm giảm sự phức tạp của mã lập trình, tăng tính linh hoạt của chương trình và giảm thiểu lỗi lặp lại.

    Tính đa hình thể hiện trong Java

    Trong Java, tính đa hình được thể hiện thông qua việc sử dụng phương thức ghi đè (override) và nạp chồng (overload):

    • Trong ghi đè (override), lớp con thay đổi lại một phương thức đã được định nghĩa trong lớp cha. Khi một đối tượng của lớp con gọi phương thức đó, nó sẽ thực thi phương thức mới của lớp con thay vì phương thức cũ của lớp cha.
    • Trong nạp chồng (overload), một phương thức duy nhất có thể thực hiện các chức năng khác nhau tùy thuộc vào ngữ cảnh trong đó nó được gọi.
    • Sử dụng đối tượng đa hình (Polymorphic Objects), biến thuộc lớp cha có thể tham chiếu đến đối tượng của lớp con, khiến biến thuộc lớp cha cũng có thể đáp ứng với các phương thức của lớp con.

    Ví dụ: Ở đây, chúng ta có một phương thức makeSound() trong lớp Animal, và các lớp con Dog ghi đè phương thức này để cài đặt tiếng kêu riêng của chúng.

    class Animal {

    public void makeSound() {

    System.out.println(“The animal makes a sound”);

    }

    }

    class Dog extends Animal {

    @Override

    public void makeSound() {

    System.out.println(“The dog barks”);

    super.makeSound(); // gọi phương thức makeSound() của lớp cha

    }

    }

    Tính đóng gói (Encapsulation)

    Tính đóng gói (Encapsulation) cho phép chúng ta giấu thông tin của đối tượng và chỉ cho phép các phương thức được định nghĩa trong lớp đó mới có thể truy cập và sử dụng các thuộc tính và phương thức đó. Nó giúp che dấu và bảo vệ dữ liệu bên trong đối tượng khỏi truy cập trực tiếp từ bên ngoài. Điều này giúp giảm thiểu sự phụ thuộc giữa các đối tượng và tăng tính bảo mật cho chương trình.

    Ví dụ, mỗi người đều có thông tin cá nhân và để tránh sự xâm nhập của người không liên quan, chúng ta sẽ đóng gói thông tin của mình vào một nơi và bảo mật bằng cách đặt mật khẩu.

    Tính đóng gói thể hiện trong Java

    Trong Java, tính đóng gói được thực hiện bằng cách sử dụng các từ khóa truy cập (access modifiers), điều khiển khả năng nhìn thấy của biến và phương thức trong một lớp. Ba từ khóa truy cập trong Java bao gồm:

    • Public: Các biến và phương thức công khai (public) có thể truy cập từ bất kỳ đâu, bao gồm bên ngoài lớp.
    • Private: Các biến và phương thức riêng tư (private) chỉ có thể truy cập trong lớp mà chúng được định nghĩa.
    • Protected: Các biến và phương thức được bảo vệ (protected) có thể truy cập được trong cùng lớp và các lớp con của nó.

    Ví dụ:

    class Person {

    private String name;

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    }

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

    Trừu tượng là tính chất cuối cùng trong 4 tính chất OOP Java chúng ta tìm hiểu trong bài viết này. Tính trừu tượng cho phép chúng ta tạo ra các lớp trừu tượng mà không cần cung cấp các triển khai cụ thể cho các phương thức của chúng. Ví dụ, chúng ta có thể mô tả một chiếc xe dựa trên màu sắc, hiệu xe và số chỗ ngồi mà không cần biết chi tiết về cấu tạo bên trong của xe.

    4 Tinh Chat Opp Java Rikkei Academy
    Tính trừu tượng cho phép tạo ra các lớp trừu tượng mà không cần cung cấp các phương thức triển khai cụ thể

    Việc sử dụng tính trừu tượng giúp tăng tính linh hoạt của chương trình, cho phép chúng ta dễ dàng thay đổi hoặc thêm mới các phương thức mà không ảnh hưởng đến các lớp khác trong chương trình. Nó cũng giúp giảm sự phức tạp của mã lập trình bằng cách tập trung vào các hành động cần thiết của đối tượng mà không cần quan tâm đến các chi tiết cài đặt cụ thể.

    Tính trừu tượng thể hiện trong Java

    Bạn có thể đạt được trừu tượng thông qua hai cơ chế chính:

    • Abstract class trong Java (Lớp trừu tượng) giúp đạt được tính trừu tượng từ 0 đến 100%.
    • Interfaces trong Java (giao diện) giúp đạt tính trừu tượng đến 100%.

    Ví dụ:

    abstract class Shape {

    protected int x;

    protected int y;

    public Shape(int x, int y) {

    this.x = x;

    this.y = y;

    }

    public abstract void draw();

    }

    class Circle extends Shape {

    private int radius;

    public Circle(int x, int y, int radius) {

    super(x, y);

    this.radius = radius;

    }

    @Override

    public void draw() {

    System.out.println(“Drawing a circle at (” + x + “, ” + y + “) with radius ” + radius);

    }

    }

    Trên đây là 4 tính chất OOP Java cốt lõi, việc sở hữu các tính chất của ngôn ngữ lập trình hướng đối tượng giúp quá trình phát triển phần mềm bằng ngôn ngữ Java trở nên dễ dàng và tiết kiệm thời gian hơn.

    Nếu bạn đang muốn theo học lập trình Java, tham khảo ngay khóa học tại Rikkei Academy. Rikkei Academy cung cấp đa dạng khóa học lập trình từ cơ bản đến nâng cao, phù hợp với nhiều đối tượng khác nhau. Với lộ trình tinh gọn, bám sát  thực tế, bạn sẽ chỉ học những kiến thức, kỹ năng thiết yếu để trở thành một lập trình viên chuyên nghiệp. Đặc biệt, Rikkei Academy áp dụng chính sách cam kết việc làm, ngay sau khi bạn tốt nghiệp khóa học sẽ được giới thiệu việc làm tại mạng lưới 500+ đối tác của Rikkei. Đăng ký để nhận tư vấn miễn phí ngay hôm nay!

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

    • Luong Lap Trinh Vien Nam 2022 04/01/202304 phút đọc Mức Lương Lập Trình Viên Trong Năm 2022 Theo Vị Trí Và Cấp Bậc Bạn Nên Biết
    • Jvm La Gi Rikkei Academy 31/05/202304 phút đọc JVM là gì? Tìm hiểu chi tiết về Java Virtual Machine trong Java
    • Top 5 lưu ý quan trọng khi học lập trình cơ bản 26/09/202204 phút đọc 5 lưu ý quan trọng khi học lập trình cơ bản
    • 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
    • Phương pháp học đảo ngược tại Rikkei Academy được áp dụng như thế nào 25/08/202204 phút đọc Phương pháp học đảo ngược tại Rikkei Academy được áp dụng như thế nào?
    • Abstract Class Trong Java Rikkei Academy 28/05/202304 phút đọc 5 Phút Tìm Hiểu Về Abstract Class Trong Java

    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