Python物件導向封裝繼承和多型示例講解

2022-09-25 22:24:16 字數 1954 閱讀 2020

物件導向的三大特徵:封裝,繼承,多型

1.封裝: 提高程式的安全性

2.繼承: 提高**的復用性

3.提高程式的可拓展性和可 維護性。

我們來看看私有方式的使用:

# 作者:網際網路老辛

# 開發時間:2021/4/4/0004 22:11

class student:

def __init__(self,name,age):

self.name=name

self.__age=age

def show(self):

print(self.name,self.__age)

laoxin=student('網際網路老辛',38)

laoxin.show()

print(laoxin.name)

print(laoxin.__age)

私有屬性如何被訪問呢?

可以通過下面的形式來訪問

print(laoxin.student_ _ age)的形式進行訪問

但一般情況下,我們看到私有方法,就盡量不要訪問了。

語法格式:

class 子類類名(父類1,父類2)

pass

# 作者:網際網路老辛

# 開發時間:2021/4/4/0004 22:11

class person(object):

def __init__(self,name,age):

self.name=name

self.age=age

def info(self):

print(self.name,self.age)

class student(person):

def __init__(self,name,age,sut_no):

程式設計客棧 super().__init__(name,age)

self.sut_no=sut_no

class teacher(person):

def __init__(self,name,age,teachofyear):

super(teacher, self).__init__(name,age)

self.teachofyear=teachofyear

程式設計客棧

stu=student('網際網路老辛',40,1001)

teacher=teacher('高勝寒',38,10)

stu.info()

teacher.info()

在python中還可以支援多繼承

比如校長,既能整合person類,又能繼承teacher類。

多型就是具有多種形態,意思是,即使不知道乙個變數所引用的物件到底是什麼型別,仍然可以通過這個變數呼叫方法,在執行過程中根據變數所引用的物件型別,動態的決定呼叫哪個物件中的方法。

# 作者:網際網路老辛

# 開發時間:2021/4/4/0004 22:11

class animal(object):

def eat(self):

print("動物需要吃東西")

class dog(animal):

def eat(self):

print('狗吃骨頭') #重寫方法

class cat(animal):

def eat(self):

print('貓吃魚')

class person: #沒有整合任何類

def eat(self):

print('人吃植物')

def fun(obj):

obj.eat()

fun(cathnncymrf())

fun(dog())

fun(animal())

fun(person()) #但是他也能呼叫方法

原因:python是一種動態語言,靜態語言要想實現多型,必須明確繼承,然後才能使用,而動態語言只關心是否具有這個方法,關於類不管。

python物件導向開發 封裝,繼承和多型

1.乙個功能封裝成乙個函式,目的是為了重複使用 方便檢視 1.如果多的子類都需要都乙個方法,那麼我們會把這個方法給父類,目的,重複使用 2.繼承順序根據 類.mro 3.在開發中最好是先呼叫父類的這個方法也就是super init 然後在新增自己的功能,保證程式的穩定.以下的 的輸出將是什麼?說出你...

python物件導向之封裝 繼承和多型

類似於模板,把事物共有的特徵和行為進行打包,然後建立出來的物件就會具有這些特徵和行為。1.封裝資料的主要原因是 保護隱私 和 隔離複雜度 2.類的結構 class 類名 object 類名的命名規則 大駝峰命名法 每個單詞首字母大寫,單詞之間沒有下劃線 類屬性 屬性名 值 類方法 classmeth...

python 物件導向及封裝繼承和多型

裝飾器 裝飾器的概念 裝飾器的實現是函式裡面巢狀函式 裝飾器的本質是乙個函式,它可以讓其他函式在不需要做任何 改動的前提下增加額外的功能 裝飾器需要傳遞乙個函式,返回值也是乙個函式物件.物件導向 一 物件導向的基本概念 面向過程和物件導向,是兩種不同的程式設計方式 對比面向過程的特點,可以更好的了解...