VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Python Cơ Bản

Giới thiệu về Python Cài đặt Python Hướng dẫn lập trình Python với Visual Studio Code Hướng dẫn lập trình Python với PyCharm Community Edition Hướng dẫn lập trình Python với Eclipse Chương trình Hello World Cú pháp Python cơ bản Biến và kiểu dữ liệu trong Python Toán tử trong Python Tham số dòng lệnh trong Python Comment trong Python Từ khóa trong Python Đọc file CSV

Câu Lệnh Điều Khiển

Lệnh If-else Vòng lặp While Vòng lặp For Lệnh Break Lệnh Continue Vòng lặp lồng nhau Lệnh pass trong Python

Các Kiểu Dữ Liệu Chuẩn

Number String List Set Tuple Dictionary Phân biệt List, Tuple, Set, Dict

Hàm, Module và File I/O

Date & Time Hàm Module Vào ra dữ liệu File I/O Xử lý ngoại lệ Regex trong Python Module Collection Module Math Module OS Module Random Module Statistics Module SYS Giới thiệu Python IDEs

Python OPPs

Lập trình hướng đối tượng Lớp và đối tượng trong Python Constructor trong Python Kế thừa trong Python Ghi đè phương thức – Method Overriding Trừu tượng dữ liệu trong Python

Python MySQL

Cài đặt môi trường Python MySQL Kết nối Python với MySQL Tạo new database Tạo Table insert Table select Table update Table delete Table join Table Quản lý transaction
Python Tkinter(GUI) Python Web Blocker Python Numpy Python Django Python Flask Bài tập Python có lời giải
1 / 3
❮ ❯

Kế thừa trong Python


Constructor trong Python
Ghi đè phương thức trong Python - Method Overriding

Nội dung chính

  • Khái niệm kế thừa trong Python
    • Cú pháp đơn kế thừa
    • Ví dụ đơn kế thừa trong Python
  • Kế thừa đa cấp trong Python
    • Cú pháp kế thừa đa cấp
    • Ví dụ kế thừa đa cấp trong Python
  • Đa thừa kế trong Python
    • Cú pháp đa kế thừa
    • Ví dụ đa kế thừa trong Python
    • Phương thức issubclass(sub,sup)
    • Phương thức isinstance (obj, class)

Khái niệm kế thừa trong Python

Kế thừa là một khía cạnh quan trọng của mô hình lập trình hướng đối tượng. Kế thừa cung cấp khả năng sử dụng lại mã cho chương trình vì chúng ta có thể sử dụng một lớp hiện có để tạo một lớp mới thay vì tạo nó từ đầu.

Trong kế thừa, lớp con có được các thuộc tính và có thể truy cập tất cả các thành viên dữ liệu và các hàm được định nghĩa trong lớp cha. Một lớp con cũng có thể cung cấp việc triển khai cụ thể cho các hàm của lớp cha. Trong bài này, chúng ta sẽ thảo luận chi tiết về kế thừa.

Trong python, một lớp dẫn xuất (hay còn gọi là lớp con - sub-class) có thể kế thừa lớp cơ sở (lớp cha - super-class) bằng cách chỉ đề cập đến cơ sở trong ngoặc sau tên lớp dẫn xuất. Sau đây là cú pháp để một lớp cơ sở kế thừa lớp dẫn xuất.

Kế thừa trong Python

Cú pháp đơn kế thừa


class derived-class(base class):
    <class-suite>

Ví dụ đơn kế thừa trong Python


class Animal:
    def speak(self):
        print("Animal Speaking")

# lớp con Dog kế thừa lớp Animal
class Dog(Animal):
    def bark(self):
        print("Gou gou!")
d = Dog()
d.bark()
d.speak()

Kết quả:

Gou gou!
Animal Speaking

Kế thừa đa cấp trong Python

Kế thừa đa cấp có thể có trong python như các ngôn ngữ hướng đối tượng khác. Kế thừa đa cấp khi một lớp dẫn xuất kế thừa một lớp dẫn xuất khác. Không có giới hạn về số lượng cấp độ, kế thừa đa cấp trong python.

Kế thừa đa cấp trong Python

Cú pháp kế thừa đa cấp


class class1:  
    <class-suite>   
class class2(class1):  
    <class suite>  
class class3(class2):  
    <class suite>
...
class classN(classN-1):  
    <class suite>

Ví dụ kế thừa đa cấp trong Python


class Animal:  
    def speak(self):  
        print("Animal Speaking")

# lớp con Dog kế thừa lớp Animal
class Dog(Animal):
    def bark(self):
        print("Gou gou!")

# lớp con Dogchild kế thừa lớp Dog
class DogChild(Dog):
    def eat(self):
        print("Eating milk...")

d = DogChild()
d.bark()
d.speak()
d.eat()
d.speak()

Kết quả:

Gou gou!
Animal Speaking
Eating milk...
Animal Speaking

Đa thừa kế trong Python

Python cung cấp cho chúng ta sự linh hoạt để kế thừa nhiều lớp cơ sở trong lớp con.

Đa Kế thừa trong Python

Một lớp có thể kế thừa nhiều lớp bằng cách đề cập đến tất cả chúng trong dấu ngoặc. Hãy xem xét cú pháp sau đây.

Cú pháp đa kế thừa


class Base1:  
    <class-suite>  
  
class Base2:  
    <class-suite>  

...

class BaseN:  
    <class-suite>  
  
class Derived(Base1, Base2, ...... BaseN):  
    <class-suite> 

Ví dụ đa kế thừa trong Python


class Calculation1:
    def Summation(self, a, b):
        return a + b;

class Calculation2:
    def Multiplication(self, a, b):
        return a * b;

class Derived(Calculation1, Calculation2):
    def Divide(self, a, b):
        return a / b;

d = Derived()
print(d.Summation(10, 20))
print(d.Multiplication(10, 20))
print(d.Divide(10, 20))

Kết quả:

30
200
0.5

Phương thức issubclass(sub,sup)

Phương thức issubclass(sub, sup) được sử dụng để kiểm tra mối quan hệ giữa các lớp được chỉ định. Nó trả về true nếu lớp thứ nhất là lớp con của lớp thứ hai và ngược lại là false.


class Calculation1:
    def Summation(self, a, b):
        return a + b;

class Calculation2:
    def Multiplication(self, a, b):
        return a * b;

class Derived(Calculation1, Calculation2):
    def Divide(self, a, b):
        return a / b;

print("Derived là con của Calculation2:", issubclass(Derived,Calculation2))
print("Calculation1 là con của Calculation2:", issubclass(Calculation1,Calculation2))

Kết quả:

Derived là con của Calculation2: True
Calculation1 là con của Calculation2: False

Phương thức isinstance (obj, class)

Phương thức isinstance () được sử dụng để kiểm tra mối quan hệ giữa các đối tượng và các lớp. Nó trả về true nếu tham số đầu tiên, tức là obj là thể hiện của tham số thứ hai, tức là lớp.


class Calculation1:
    def Summation(self, a, b):
        return a + b;

class Calculation2:
    def Multiplication(self, a, b):
        return a * b;

class Derived(Calculation1, Calculation2):
    def Divide(self, a, b):
        return a / b;

d = Derived()  
print("Đối tượng d là thể hiện của lớp Derived: ", isinstance(d,Derived))

Kết quả:

Đối tượng d là thể hiện của lớp Derived:  True

Constructor trong Python
Ghi đè phương thức trong Python - Method Overriding

Recent Updates

Vẽ tam giác Pascal trong PythonVẽ tam giác Floyd trong PythonVẽ tam giác đều trong PythonBài tập vòng lặp trong PythonBài tập quản lý sinh viên trong PythonBài tập Python có lời giảiVẽ tam giác vuông cân trong PythonCheck số nguyên tố trong PythonCách cài đặt Python (Thiết lập môi trường)Hướng dẫn lập trình Python với EclipseHướng dẫn lập trình Python với PyCharm Community EditionHướng dẫn lập trình Python với Visual Studio CodeSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml