Thế nào là hướng đối tượng

Đó là một trong những chủ đề được hỏi liên tục đến mức các bạn không thể chất nhận được mình không biết. Vào series này mình thuộc nhau tìm hiểu những tư tưởng và các đặc điểm tính hóa học của OOP nhé.

Bạn đang xem: Thế nào là hướng đối tượng

Trong phần này mình đã sơ lược cho các bạn về những khái niệm cơ bạn dạng cần núm và có tác dụng quen cùng với lập trình hướng đối tượng

1. Lập trình sẵn hướng đối tượng có phần đông gì?

Lập trình hướng đối tượng (Object Oriented Programming, viết tắt: OOP) là 1 trong những kỹ thuật lập trình mang lại phéplập trình viên tạo nên các đối tượng vào code trừu tượng hóa những đối tượngthực tế vào cuộc sống. Nói tới đây bao gồm thể các bạn chưa hiểu nhằm mình phân tích và lý giải rõ hơn:

Đối tượng (Object)có thể là con người, năng lượng điện thoại, thiết bị tính, yasuo, leesin ... Cùng điểm tầm thường là đều bao gồm 2 thành phần chính là:

Thuộc tính (Attribute):là đông đảo thông tin, điểm lưu ý của đối tượng.Phương thức (Method):là những hành động mà đối tượng rất có thể thực hiện.

Mình rước một lấy ví dụ như là trang bị vi tính cho các bạn dễ phát âm nha:

Máy tính sẽ sở hữu được các thuộc tính như: màu sắc, kích thước, bộ nhớ, ...Và những phương thức như: quét virus, tắt máy, khởi hễ máy, mở LoL ...

Khi một đối tượng người sử dụng có gần như đặc tính giống hệt sẽ được tụ lại thành một lớp đối tượng người sử dụng (class)và cũng sẽ có 2 thành phần là thuộc tính cùng phương thức.Lớp (class)cũng rất có thể được dùng làm định nghĩa một kiểu tài liệu mới.

Với ví dụ máy vi tính trên ta gọi lớp (class) trang bị vi tính có:

Các thuộc tính như:màu sắc, kích thước, cỗ nhớ, ...Và những phương thức như: quét virus, tắt máy, khởi cồn máy, mở LoL ...

đối tượng (object)có thể là những dòng sản phẩm như Asus, Acer, Lenovo, Thinkpad, ... đa số mang đặc tính của lớp lắp thêm vi tính.

Vậy nguyên nhân lại cần đến chiếc "Lập trình phía đối tượng" rối rắm này?

Nếu như trước đó đây chúng ta lập trình cùng với hướng thủ tục thì sẽ tạo thành các hàm nhằm xử lý, thì bây giờ khi áp dụng hướng đối tượng người tiêu dùng thì chúng ta sẽ tạo thành các đối tượng người tiêu dùng để xử lý.

Vì lập trình sẵn hướng đối tượng ra đờisau cho nên nó khắc phục được tất cả các điểm yếu của các phương thức lập trình trước đó. Ví dụ nó bao gồm các ưu điểm sau:

Dễ dàng quản lý code khi có sự biến đổi chương trình.Dễ không ngừng mở rộng dự án.Có tính bảo mật cao.Có thể áp dụng mã nguồn, tiết kiệm tài nguyên.

Xem thêm: Cách Sử Dụng Hubspot (Crm & Sales), Hướng Dẫn Sử Dụng Hubspot (Crm & Sales)

2.Các đặcđiểm cơ phiên bản của lập trìnhhướng đối tượng:

*

2.1. Tính gói gọn (Encapsulation): đặc điểm này không chất nhận được người cần sử dụng trực tiếp tác động ảnh hưởng đến dữ liệu phía bên trong đối tượng cơ mà phải trải qua các phương thức mà đối tượng người tiêu dùng cung cấp. Tính chất này đảm bảo an toàn tính toàn vẹn của đối tượng.

Một ví dụ như về tính đóng gói:

class mayvitinh {private: string mausac; int chieudai, chieurong;public: void input() cout mausac); cout > this->chieudai; cout > this->chieurong; void output() { cout mausac chieudai chieurong trong khúc code trên tính đóng gói được diễn đạt qua các thuộc tính mausac, chieudai, chieurong với phương thức input(), output() vào trong class mayvitinh.Bạn không thể truy cập đến cácprivatedata hoặc gọi đếnprivatemethods của class từ bên ngoài class đó.

2.2. Tính kế thừa (Inheritance):Kế thừa, tái sử dụng phương thức, ở trong tính của lớp cơ sở và lớp thừa kế được call là lớp con, nó sẽ thừa kế những gì lớp phụ thân có và mang lại phép.

Cũng với lấy ví dụ như là class mayvitinh, class này sẽ sở hữu các thuộc tính: mausac, chieudai, chieurong. Một class mayAsus, mayAcer sẽ kế thừa class mayvitinh vì mayAsus cũng đều có các thuộc tính: mausac, chieudai, chieurong.Thay vì coppy những nằm trong tính này, ta bắt buộc đặt nó vào một lớp phổ biến gọi là lớp phụ thân – trong trường hòa hợp này là mayvitinh và có những lớp bé mayAsus, mayAcer kế thừa trường đoản cú nó, tạo thành một mối quan hệ cha/con.

2.3. Tính nhiều hình (Polymorphism):Tính đa hình có thể chấp nhận được các chức năng (method) không giống nhau được thực thi khác biệt trên các đối tượng người sử dụng khác nhau.

Ví dụ như class mayvitinh ở trên, từng một chiếc máy đều thừa kế từ lớp phụ vương mayvitinh mà lại được chạy với cùng một hệ quản lý điều hành khác nhau, mayAsus thì được chạy cùng với hệ quản lý Windows, còn mayMacbook sẽ được chạy cùng với hệ diều hành MacOs.

2.4. Tính trừu tượng(Abstraction):Tập trung vào chủ yếu của đối tượng, bỏ qua mất những vật dụng không tương quan và không quan trọng.

Ví dụ: bài toán làm chủ sinh viên bọn họ chỉ cần làm chủ các thông tin như

Họ tênNgày sinhGiới tính…

mà lại không cần thống trị thêm những thông tin:

Cân nặngMàu daChiều cao

Tại bởi chúng thực thụ không yêu cầu thiết.

Kết

Đây chỉ là phần đông khái niệm cơ bản các bạn cần nắm đề chuẩn bị cho đầy đủ part sau. Cụ thể mình đang tìm nắm rõ hơn về từng đặc thù của lập trình hướng đối tượng. Chúng ta nhớ đón xem cùng góp ý để những bài bác sau xuất sắc hơn nhé.