Thursday, March 12, 2020

Lập trình java hướng đối tượng

Lập trình hướng đối tượng: Như tên gọi, Lập trình hướng đối tượng hoặc OOP đề cập đến các ngôn ngữ sử dụng các đối tượng trong lập trình. Lập trình hướng đối tượng nhằm thực hiện các thực thể trong thế giới thực như kế thừa, ẩn, đa hình, v.v. trong lập trình. Mục đích chính của OOP là liên kết dữ liệu và các chức năng hoạt động trên chúng để không có phần nào khác của mã có thể truy cập dữ liệu này ngoại trừ chức năng đó.
Lập trình java hướng đối tượng

Khái niệm OOP:

  • Tính đa hình
  • Tính kế thừa
  • Tính đóng gói
  • Tính trừu tượng
  • Class trong java
  • Object trong java
  • Phương thức(Method) 

Chúng ta hãy tìm hiểu về các đặc điểm khác nhau của ngôn ngữ lập trình hướng đối tượng:
Đa hình: Đa hình đề cập đến khả năng các ngôn ngữ lập trình OOP phân biệt giữa các thực thể có cùng tên một cách hiệu quả. Điều này được thực hiện bởi Java với sự trợ giúp của chữ ký và khai báo của các thực thể này.
Đa hình trong Java chủ yếu có 2 loại:

  • Nạp chồng (Overloading) trong java
  • Ghi đè trong Java

Kế thừa: Kế thừa là một trụ cột quan trọng của OOP (Lập trình hướng đối tượng). Đây là cơ chế trong java mà một lớp được phép kế thừa các tính năng (trường và phương thức) của lớp khác.
Thuật ngữ quan trọng:
Super Class: Lớp có các tính năng được kế thừa được gọi là siêu lớp (hoặc lớp cơ sở hoặc lớp cha).
Sub Class: Lớp kế thừa lớp khác được gọi là lớp con (hoặc lớp dẫn xuất, lớp mở rộng hoặc lớp con). Lớp con có thể thêm các trường và phương thức riêng của nó ngoài các trường và phương thức của lớp cha.
Reusability: Tính kế thừa hỗ trợ khái niệm về khả năng sử dụng lại, tức là khi chúng ta muốn tạo một lớp mới và đã có một lớp bao gồm một số mã mà chúng ta muốn, chúng ta có thể lấy được lớp mới từ lớp hiện có. Bằng cách này, chúng tôi đang sử dụng lại các trường và phương thức của lớp hiện có.
Các từ khóa được sử dụng cho thừa kế là mở rộng.
Đóng gói: Đóng gói được định nghĩa là gói dữ liệu dưới một đơn vị. Nó là cơ chế liên kết mã với nhau và dữ liệu mà nó thao tác. Một cách khác để suy nghĩ về đóng gói là, nó là một lá chắn bảo vệ ngăn chặn dữ liệu được truy cập bởi mã bên ngoài lá chắn này.
Về mặt kỹ thuật trong đóng gói, các biến hoặc dữ liệu của một lớp bị ẩn khỏi bất kỳ lớp nào khác và chỉ có thể được truy cập thông qua bất kỳ hàm thành viên nào của lớp riêng mà chúng được khai báo.
Như trong đóng gói, dữ liệu trong một lớp bị ẩn khỏi các lớp khác, vì vậy nó còn được gọi là ẩn dữ liệu.
Đóng gói có thể đạt được bằng cách khai báo tất cả các biến trong lớp là riêng tư và viết các phương thức công khai trong lớp để đặt và lấy các giá trị của các biến.
Trừu tượng hóa: Trừu tượng dữ liệu là thuộc tính mà chỉ các chi tiết thiết yếu được hiển thị cho người dùng. Các đơn vị tầm thường hoặc không cần thiết không được hiển thị cho người dùng. Vd: Một chiếc xe được xem như một chiếc xe chứ không phải là các thành phần riêng lẻ của nó.
Trừu tượng dữ liệu cũng có thể được định nghĩa là quá trình chỉ xác định các đặc điểm cần thiết của một đối tượng bỏ qua các chi tiết không liên quan. Các thuộc tính và hành vi của một đối tượng phân biệt nó với các đối tượng khác cùng loại và cũng giúp phân loại / nhóm các đối tượng.
Hãy xem xét một ví dụ thực tế của một người đàn ông lái xe hơi. Người đàn ông chỉ biết rằng nhấn ga sẽ tăng tốc độ xe hoặc áp dụng phanh sẽ dừng xe nhưng anh ta không biết cách nhấn ga tăng tốc, tốc độ thực sự tăng, anh ta không biết về cơ chế bên trong của xe hay việc thực hiện gia tốc, phanh vv trong xe. Đây là những gì trừu tượng.
Trong java, sự trừu tượng đạt được bằng các giao diện và các lớp trừu tượng. Chúng ta có thể đạt được sự trừu tượng 100% bằng các giao diện.

Class: Một lớp là một bản thiết kế hoặc nguyên mẫu do người dùng định nghĩa từ đó các đối tượng được tạo. Nó đại diện cho tập các thuộc tính hoặc phương thức chung cho tất cả các đối tượng của một loại. Nói chung, khai báo lớp có thể bao gồm các thành phần này, theo thứ tự:
Modifiers: Một lớp có thể là công khai hoặc có quyền truy cập mặc định (Tham khảo phần này để biết chi tiết).
Class name: Tên nên bắt đầu bằng một chữ cái đầu tiên (viết hoa theo quy ước).
Superclass (nếu có): Tên của lớp cha mẹ (siêu lớp), nếu có, đứng trước từ khóa mở rộng. Một lớp chỉ có thể mở rộng (lớp con) một phụ huynh.
Interfaces (nếu có): Một danh sách các giao diện được phân tách bằng dấu phẩy được thực hiện bởi lớp, nếu có, đi trước từ khóa thực hiện. Một lớp có thể thực hiện nhiều hơn một giao diện.
Body: Lớp cơ thể được bao quanh bởi dấu ngoặc nhọn, {}.

Đối tượng: Nó là một đơn vị cơ bản của Lập trình hướng đối tượng và đại diện cho các thực thể trong cuộc sống thực. Một chương trình Java điển hình tạo ra nhiều đối tượng, như bạn biết, tương tác bằng cách gọi các phương thức. Một đối tượng bao gồm:
Trạng thái: Nó được thể hiện bằng các thuộc tính của một đối tượng. Nó cũng phản ánh các thuộc tính của một đối tượng.
Hành vi: Nó được thể hiện bằng các phương thức của một đối tượng. Nó cũng phản ánh phản ứng của một đối tượng với các đối tượng khác.
Danh tính: Nó đặt một tên duy nhất cho một đối tượng và cho phép một đối tượng tương tác với các đối tượng khác.

Phương thức: Phương thức là tập hợp các câu lệnh thực hiện một số tác vụ cụ thể và trả về kết quả cho người gọi. Một phương thức có thể thực hiện một số nhiệm vụ cụ thể mà không trả lại bất cứ điều gì. Các phương thức cho phép chúng ta sử dụng lại mã mà không cần gõ lại mã. Trong Java, mọi phương thức phải là một phần của một số lớp khác với các ngôn ngữ như C, C ++ và Python.
Từ khóa : Lập trình java hướng đối tượng,bài tập lập trình java hướng đối tượng,Lập trình hướng đối tượng Java ,Lập trình hướng đối tượng(OOPs) trong java,Khái niệm hướng đối tượng OOP trong Java,Tự học lập trình hướng đối tượng java,4 tính chất của lập trình hướng đối tượng trong Java

No comments:

Post a Comment