Hiểu Ngay 9 Khái niệm Lập trình hướng đối tượng trong Java qua ví dụ

Ngày đăng: 18/04/2019   -    Cập nhật: 16/11/2020

OOP - Lập trình hướng đối tượng là gì?


OOP là viết tắt của (Object Oriented Programming) trong tiếng Anh.


Lập trình hướng đối tượng là một khái niệm lập trình hoạt động theo nguyên tắc các phần quan trọng nhất trong chương trình là các đối tượng (object).


Nó cho phép người dùng tạo các object 
mà họ muốn và sau đó tạo các phương thức để xử lý các object đó.


Thao tác với các đối tượng này để có kết quả là mục tiêu của Lập trình hướng đối tượng.


Lập trình hướng đối tượng ngày nay là một tiêu chuẩn lập trình thường thấy trong các ngôn ngữ lập trình hiện đại như Java.


9 khái niệm cốt lõi của Lập trình hướng đối tượng - OOP Concepts


9 Khái niệm cốt lõi của Lập trình hướng đối tượng trong Java

9 Khái niệm cốt lõi của Lập trình hướng đối tượng trong Java


 

1. Class - Khái niệm Lớp trong OOP



Class là một nhóm các thực thể tương tự. Nó chỉ là một thành phần logic và không phải là thực thể vật lý.


Ví dụ:



  • Nếu bạn có một Class là "Xe Sang", thì nó có thể có các đối tượng như là: Mercedes, Lexus, Roll Royce, Audi, Bentley, Cadilac...
  • Nếu bạn có một Class là "Siêu xe thể thao" thì nó có thể có các đối tượng như là: Lamborghini Adventador, Bugatti Chiron, Ferrari ...


Thuộc tính (dữ liệu) của nó có thể là giá, màu sắc hoặc tốc độ của những chiếc xe này.


Trong khi các phương thức có thể được thực hiện với những chiếc xe này như lái xe, lùi, phanh, nhấn ga ...



2. Object - Khái niệm Đối tượng trong OOP



Một đối tượng có thể được định nghĩa là một thể hiện của một class và có thể có nhiều thể hiện của một class trong một chương trình.


Một đối tượng chứa cả data và function (chức năng), hoạt động trên dữ liệu


Ví dụ:


Một đối tượng là Xe Audi



  • Tên: Audi A8
  • Giá: 6 Tỷ VNĐ
  • Đời: 2019
  • Chức năng 1: Chạy
  • Chức năng 2: Lùi
  • Chức năng 3: Mở cửa
  • ...


3. Inheritance - Khái niệm Kế thừa trong OOP
 


Kế thừa là một khái niệm OOP trong đó một đối tượng có được các thuộc tính và hành vi của đối tượng cha.


Nó tạo ra mối quan hệ Cha - Con giữa 2 class.


Kế thừa cung cấp cơ chế mạnh mẽ và tự nhiên để tổ chức và cấu trúc của bất kỳ phần mềm nào.


 

4. Polymorphism - Khái niệm Đa hình trong OOP



Đa hình (Polymorphism) đề cập đến khả năng của một biến, đối tượng hoặc chức năng đảm nhận nhiều hình thức.


Ví dụ, trong tiếng Anh, động từ run có ý nghĩa khác nếu như:



  • Chạy một chương trình máy tính
  • Chạy bộ
  • Chạy dự án


Ở đây, chúng ta hiểu rõ ý nghĩa của từ run dựa trên các từ khác được sử dụng cùng với nó.


Điều tương tự này cũng được áp dụng cho Đa hình.



5. Abstraction - Khái niệm Trừu tượng trong OOP



Trừu tượng (Abstraction) là một hành động thể hiện các tính năng thiết yếu mà không bao gồm các chi tiết nền.


Đây là một kỹ thuật tạo ra một kiểu dữ liệu mới phù hợp cho một ứng dụng cụ thể.


Ví dụ, trong khi lái xe, bạn không cần phải lo lắng về công việc nội bộ của nó. Ở đây bạn chỉ cần quan tâm đến các bộ phận như vô lăng, Gears, chân ga, v.v.



6. Encapsulation - Khái niệm Đóng gói trong OOP



Đóng gói (Encapsulation) là một kỹ thuật của OOP để gói lại dữ liệu và code. Trong khái niệm OOPS này, các biến của một lớp luôn bị ẩn khỏi các lớp khác.


Nó chỉ có thể được truy cập bằng cách sử dụng các phương thức của class đó.


Ví dụ: Ở trường học, một học sinh lớp 11A sẽ ở trong lớp 11A, muốn tác động với học sinh này thì bắt buộc phải thông qua quy định của lớp 11A.



7. Association - Khái niệm 



Association là mối quan hệ giữa hai đối tượng. Nó định nghĩa sự đa dạng giữa các đối tượng. Trong khái niệm OOP này, tất cả các đối tượng có vòng đời riêng và không có chủ sở hữu.


Ví dụ, Nhiều học sinh có thể liên kết với một giáo viên trong khi một học sinh cũng có thể liên kết với nhiều giáo viên.



8. Aggregation



Trong kỹ thuật này, tất cả các đối tượng có vòng đời riêng biệt.


Tuy nhiên, có quyền sở hữu sao cho đối tượng con có thể thuộc về đối tượng cha mẹ khác.


Ví dụ, xem xét lớp / đối tượng bộ phận và giáo viên.


Ở đây, một giáo viên duy nhất có thể thuộc về nhiều bộ phận (Đoàn trường, Khối Tự Nhiên, Hỗ trợ...), nhưng ngay cả khi chúng ta xóa bỏ bộ phận đó, các đối tượng giáo viên sẽ không bao giờ bị phá hủy.


 

9. Composition



Một Composition là một hình thức tổng hợp chuyên biệt. Nó cũng được gọi là mối quan hệ 'death'.


Các đối tượng con không có vòng đời của chúng vì vậy khi đối tượng cha mẹ xóa tất cả các đối tượng con cũng sẽ tự động xóa.


Vì thế, hãy lấy một ví dụ về Nhà và Phòng:


 

  • Bất kỳ ngôi nhà có thể có một hoặc nhiều phòng.
  • Nhưng một phòng đó không thể trở thành một phần của hai ngôi nhà khác nhau.
  • Vì vậy, nếu bạn xóa / phá hủy nhà thì phòng cũng sẽ bị xóa.


 

> Bạn muốn hiểu rõ về Java OOP? Hãy tham gia ngay Khóa Học Lập trình Java tại NIIT - ICT Hà Nội
 

Ưu điểm của Lập trình hướng đối tượng OOP


Lập trình hướng đối tượng có rất nhiều ưu điểm. Và đây là những ưu điểm nổi bật được cộng đồng lập trình viên công nhận rộng rãi:


  • OOP làm cho các chương trình dễ hiểu và cấu trúc mô đun rõ ràng.
  • Các object được tạo cho Chương trình hướng đối tượng có thể được sử dụng lại trong các chương trình khác. Do đó nó tiết kiệm đáng kể chi phí phát triển.
  • Giảm thiểu dòng code.
  • Các chương trình lớn rất phức tạp, nhưng nếu tuân theo khái niệm OOPS thì họ có thể thiết kế tốt hơn và giảm tối thiểu các lỗ hổng.
  • OOP cũng tăng cường tính Mô đun hóa của chương trình vì mọi đối tượng tồn tại độc lập.


Nếu bạn đang tự tìm hiểu về ngôn ngữ Java. Mình hi vọng bài hướng dẫn TỰ HỌC JAVA (Cơ bản) này sẽ giúp bạn nắm bắt nhanh ngôn ngữ lập trình hàng đầu này.

---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Cùng danh mục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!