Khái niệm OOP trong Python là gì?

Mô hình lập trình Python được gọi là lập trình hướng đối tượng [OOP] sử dụng các đối tượng và lớp. Nó tìm cách kết hợp các khái niệm trong thế giới thực lập trình như kế thừa, đa hình, đóng gói, v.v. Ý tưởng cơ bản đằng sau OOP là liên kết dữ liệu và các chức năng sử dụng nó sao cho không phần nào khác của mã có thể truy cập được.

Trong bài viết này chúng ta sẽ thảo luận về các nguyên tắc cơ bản của lập trình hướng đối tượng

Tầng lớp

Định nghĩa của một lớp là một nhóm các mục. Nó là một thực thể logic với một vài thuộc tính và phương thức duy nhất. Ví dụ: nếu bạn có một lớp dành cho môn Cricket, thì lớp đó phải có thuộc tính và phương thức như người chơi, giải đấu, tung, chạy, đánh bóng, trận đấu, v.v.

Thí dụ

Xem xét sử dụng ví dụ dưới đây để xây dựng một lớp có tên Cricket có hai trường. id người chơi và người chơi. Lớp này cũng có một hàm gọi là display[] được sử dụng để hiển thị thông tin về Cricket –

class Cricket: id = 10 player = "Sachin Tendulkar" def display [self]: print[self.id,self.player] print['Class created Successfully']

đầu ra

Sau đây là một đầu ra của đoạn mã trên

Class created Successfully

Mục tiêu

Một đối tượng là một thể hiện của một lớp. Nó là một thực thể có trạng thái và hành vi. Nói một cách đơn giản, nó là một thể hiện của lớp có quyền truy cập vào dữ liệu. Nó có thể là bất kỳ đối tượng nào trong thế giới thực, chẳng hạn như chuột, bàn phím, ghế, bàn, bút, v.v.

Python coi mọi thứ là một đối tượng và hầu hết các đối tượng đều có thuộc tính và phương thức. Thuộc tính tích hợp __doc__ của tất cả các hàm trả về chuỗi tài liệu được chỉ định trong mã nguồn của hàm

Thí dụ

Sau đây là một ví dụ để tạo một đối tượng -

đầu ra

Sau đây là một đầu ra của đoạn mã trên

ID: 10 
Player: Sachin Tendulkar

Phương pháp

Một hàm được kết nối với một đối tượng là phương thức. Một phương thức không dành riêng cho các thể hiện của lớp trong Python. Bất kỳ loại đối tượng có thể có phương pháp

Thí dụ

Trong ví dụ sau, hai phương thức, plant[] và animals[], được định nghĩa. Bởi vì 'Pen' là một đối tượng thể hiện, nên chúng được gọi là các phương thức thể hiện

đầu ra

Sau đây là đầu ra của đoạn mã trên -

Pen plants 'Coding'
Pen animals

Di sản

Bằng cách sử dụng các chi tiết của một lớp hiện có mà không thay đổi nó, một lớp mới có thể được tạo thông qua kế thừa. Lớp mới tạo là lớp dẫn xuất [hoặc lớp con]. Lớp hiện tại là một lớp cơ sở [hoặc lớp cha] theo cách tương tự

Thí dụ

Sau đây là một ví dụ về thừa kế trong Python

đầu ra

Chúng tôi đã thiết lập hai lớp trong đoạn mã trên. Động vật [lớp cha] và Sư tử [lớp con]. Các hàm của lớp cha được kế thừa bởi lớp con. Điều này thể hiện rõ ràng từ phương thức Run[]

Một lần nữa, hành vi của lớp cha đã được sửa đổi bởi lớp con. Phương thức WhatIstheClass[] tiết lộ điều này. Bằng cách thêm một phương thức run[] mới, chúng ta cũng mở rộng chức năng của lớp cha

Trong phương thức __init__[], chúng ta cũng sử dụng hàm super[]. Điều này cho phép chúng ta gọi phương thức __init__[] của lớp cha từ lớp con

Animal is there
Lion is there
Lion
Runs in speed
Runs in speed

đóng gói

Chúng ta có thể giới hạn quyền truy cập vào các phương thức và biến trong Python bằng cách sử dụng OOP. Đóng gói là quá trình ngăn chặn sửa đổi dữ liệu trực tiếp. Trong Python, chúng tôi sử dụng tiền tố gạch dưới để biểu thị các thuộc tính riêng tư, chẳng hạn như single_or double__

Thí dụ

Sau đây là một ví dụ về đóng gói dữ liệu trong Python -

đầu ra

Lớp Thể thao được định nghĩa trong đoạn mã trên. Tên trò chơi của Thể thao được lưu trữ bằng phương thức __init__[]. Nhìn vào mã dưới đây

s.__sportsName = 'Hockey'

Ở đây, chúng tôi đã cố gắng thay đổi giá trị __sportsName bên ngoài lớp. Vì __sportsName là một biến riêng nên đầu ra không phản ánh sửa đổi này. Chúng ta phải sử dụng hàm setter, Player Name[], chấp nhận sportsName làm tham số, để điều chỉnh giá trị

The game is: Cricket
The game is: Cricket
The game is: Hockey

đa hình

"Poly" và "morphs" là hai từ tạo nên tính đa hình. Các từ poly và morp lần lượt có nghĩa là nhiều và hình dạng. Chúng tôi hiểu tính đa hình có nghĩa là một hoạt động đơn lẻ có thể được thực hiện theo nhiều cách khác nhau

Giả sử chúng ta muốn tô màu một hình dạng; . Tuy nhiên, chúng ta có thể tô màu bất kỳ hình dạng nào bằng cùng một phương pháp. Khái niệm này được gọi là đa hình

Thí dụ

Sau đây là một ví dụ về Đa hình trong Python

đầu ra

Hai lớp, Lion và Dog, được định nghĩa trong đoạn mã trên. Tất cả đều dùng chung phương thức Roar[]. Tuy nhiên, vai trò của họ là khác biệt

Để tận dụng tính đa hình, chúng tôi đã xây dựng một giao diện chung có tên là sound test[], giao diện này chấp nhận bất kỳ đối tượng nào và gọi phương thức Roar[] của nó. Kết quả là chức năng sound test[] hoạt động như mong đợi khi chúng tôi chuyển vật nuôi và đồ vật trên đường phố cho nó

Lion can roar
Dog can't roar

Trừu tượng dữ liệu

Cả trừu tượng hóa và đóng gói dữ liệu đều là những từ đồng nghĩa thường được sử dụng. Vì sự trừu tượng hóa dữ liệu đạt được bằng cách đóng gói, nên hai thuật ngữ này gần như đồng nghĩa

Khi sử dụng tính trừu tượng, các chi tiết bên trong bị ẩn và chỉ các chức năng được hiển thị. Đặt tên cho những thứ nắm bắt được cốt lõi của chức năng hoặc toàn bộ chương trình thực hiện là quá trình trừu tượng hóa một thứ gì đó

5 khái niệm của OOP là gì?

Danh sách các khái niệm OOP trong Java .
Các đối tượng
Các lớp học
Mục tiêu
Tầng lớp
trừu tượng
Di sản
đa hình
đóng gói

Bốn khái niệm OOP chính trong Python là gì?

Bốn trụ cột của OOPS trong Python là gì? .
đóng gói
Di sản
đa hình
trừu tượng

Khái niệm OOP là gì?

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

Khái niệm OOPs trong câu hỏi phỏng vấn Python là gì?

Câu hỏi phỏng vấn OOP cơ bản dành cho người mới .
Sự khác biệt giữa OOP và SOP là gì?
Lập trình hướng đối tượng là gì?
Tại sao lại sử dụng OOP?
Các tính năng chính của OOP là gì?
Đối tượng là gì?
một lớp học là gì?
Sự khác biệt giữa một lớp và một cấu trúc là gì?

Chủ Đề