Python 物件導向程式設計的核心概念知識點簡介

2021-10-12 02:35:24 字數 3078 閱讀 4085

第乙個概念:在物件導向程式設計中,物件將變數和方法集中在乙個地方,即物件本身。

第二個概念:指的是隱藏類的內部資料,避免客戶端**直接進行訪問。

class data:

def __init__(self):

self.list1=[22,33,44,55,66]

def chang_list(self,index,num):

self.list1[index]=num

data1=data()

data1.list1[0]=100

print(data1.list1)

data2=data()

data2.chang_list(0,100)

print(data2.list1)

它是指剝離事物的諸多特性,使其只保留最基本的物質的過程。在物件導向程式設計中,使用類進行物件建模時就會用到抽象的技巧。

import abc

class animal(metaclass=abc.abcmeta):

@abc.abstractmethod #抽象的物件方法

def sound(self):

pass

@abc.abstractclassmethod#抽象的類方法

def test1(cls):

pass

@abc.abstractstaticmethod#抽象的靜態方法

def test2(self):

pass

class dog(animal):

def sound(self):

print("wang wang")

@classmethod

def test1(cls):

print("class of method")

@staticmethod

def test2():

print("static of method")

dog=dog()

dog.sound()

dog.test1()

dog.test1()

dog.test2()

dog.test2()

1)、將公共的屬性和方法放到父類中,自己只考慮特有的屬性和方法。

2)、覆蓋父類的方法即重寫父類方法,在執行中只會呼叫子類中重寫的方法不用呼叫父類中的方法。

3)、子類擁有乙個父類叫作單繼承,子類可以擁有多個父類,並且具有所有父類的屬性和方法。

class student:

def study(self):

print("學生要學習")

def practice(self):

print("學習完成要練習")

class highstudent(student):

def study_compute(self):

print("高中同學還要學習計算機")

hs=highstudent()

hs.study()

hs.practice()

hs.study_compute()

1)、指的是為不同的基礎形態(資料型別)提供著介面的能力,介面指的是函式和方法。

3)、多型意味著變數並不知道引用的物件是什麼,根據引用物件的不同表現不同的行為方式。

4)、多型以封裝和繼承為前提,不同的子類物件呼叫相同的方法,產生不同的執行效果。它可以增加**的靈活度,以繼承和重寫父類的方法為前提,呼叫方法不會影響到類的內部設計

class animals(object):

def __init__(self,name):

self.name=name

def eat(self):

print(self.name+" is eating")

class cat(animals):

def __init__(self,name):

super(cat, self).__init__(name)

class pig(animals):

def __init__(self,name):

super(pig, self).__init__(name)

class person():

def feedanimal(self,animal):

animal.eat()

cat=cat("tom")

pig=pig("peiqi")

tony=person()

tony.feedanimal(cat)

tony.feedanimal(pig)

1)、通過組合技巧將乙個物件作用變數儲存在另乙個物件中,可以模擬擁有關係。

2)、它是一種將物件或類組合成更複雜的資料結構或構件實現的方法。

3)、在組合中,乙個物件可用於呼叫其他模組中的成員函式,這樣一來,無需通過繼承就可以實現基本功能的跨模組呼叫。

class monkey():

def __init__(self,name,owner):

self.name=name

self.owner=owner

class persons():

def __init__(self,name):

self.name=name

mike=persons("mike")

mickmouse=monkey("goldemonkey",mike)

print(mickmouse.owner.name)

class a(object):

def a1(self):

print("a1")

class b(object):

def b1(self):

print("b1")

a().a1()

bb=b()

bb.b1()

總結:

Python物件導向的程式設計

1 使用類名後跟一對圓括號來建立乙個物件 例項。2 python中的self等價於c 中的this指標。3 init 方法類似於c 中的constructor。4 del 方法類似於c 中的destructor。5 域是屬於乙個物件或類的變數。域有兩種型別 例項變數 物件的變數 和類變數 類的變數 ...

Python 物件導向的程式設計

table of contents 物件導向程式設計 類和物件是物件導向程式設計的兩個主要方面。類 建立乙個新型別,而 物件 是這個類的 例項 類的物件可以使用屬於類的變數和函式,類的變數和函式有兩種 屬於每個例項 類的物件或屬於類本身。就像 c 的類的靜態變數和函式一樣。python 有乙個變數指...

Python 物件導向的程式設計

什麼是物件?物件導向 oop 物件導向的程式語言 物件導向的程式設計思想,將所有的功能統一儲存到對應的物件中 比如,媽媽功能儲存到媽媽的物件中,孩子的功能儲存到孩子物件中 要使用某個功能,直接找到對應的物件即可 這種方式編寫的 比較容易閱讀,並且比較易於維護,容易復用。但是這種方式編寫,不太符合常規...