VietTuts

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

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test

Python Cơ Bản

Giới thiệu về Python Cài đặt Python 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

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

Tkinter Button trong PythonTkinter Canvas trong PythonGiới thiệu Python TkinterBài tập Python có lời giảiPython -Tính tổng của các chữ số của môt số nguyên nPython - Phân tích số nguyên n thành tích các số nguyên tốLiệt kê tất cả số nguyên tố có 5 chữ số trong PythonLiệt kê n số nguyên tố đầu tiên trong PythonPython - Liệt kê tất cả các số nguyên tố nhỏ hơn nPython - Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số nguyên dươngTìm số thuận nghịch trong PythonPython - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố

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
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

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

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

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