9月14日学习内容整理:初识别面向对象
1、面向過程和面向?qū)ο?#xff1a;
(1)面向過程:針對結(jié)果編程,流水線式思維,得出固定的結(jié)果。優(yōu)點是好想,但是擴展性差,容易引起安全問題
(2)面向?qū)ο?#xff1a;對象就是一個實實在在的,可以準確描述出來的實體
2、定義類
類:具有相同屬性和方法的一類事物
對象:具有具體的屬性
class ?類名 ?:這就是定義了一種類,類名一般首字母大寫
role = ?'assddff' ? ? ? ? ? ?這就是第一了一種類屬性
def ?函數(shù)名(self): ?這就是定義了一種類方法(動態(tài)屬性),本質(zhì)就是函數(shù),有一個必須傳遞的參數(shù)self
3、實例化一個對象
實例化:從類到對象的過程
對象名 = 類名() ? 這就得到了一個具體的對象
4、調(diào)用類方法
對象名.方法名(也就是函數(shù)名)() ?調(diào)用類方法,自動傳遞參數(shù),這個參數(shù)就是對象本身
5、_ _init_ _函數(shù)
def ?_ _init_ _(self,參數(shù)1,參數(shù)2,參數(shù)3,....)
self.變量名 = ?參數(shù)1
self.變量名 = ?參數(shù)2
self.變量名 = ?參數(shù)3 ? ? ? 這里的self相當于字典,self.變量名相當于key,先這么理解
怎么用這個_ _init_ _函數(shù):
對象名 = ?類名(參數(shù)1,參數(shù)2,參數(shù)3,...)這樣就會自動調(diào)用_ _init_ _函數(shù)
6、類屬性和對象屬性
類屬性:直接寫在類里面的,類名和對象名都可以直接用.屬性名調(diào)用,
對象屬性:寫在init里面的self.變量名,只能對象名調(diào)用
7、面向?qū)ο蟮慕换?/p>
對象屬性(函數(shù))里加參數(shù),這樣就可以實現(xiàn)不同對象(甚至是不同類對象)之間的交互
?
?
注意:
1、不要用對象去調(diào)用類屬性
2、寫面向?qū)ο蟮臅r候先要搞清楚哪些時一類,哪些是對象,哪些是對象屬性
3、面向?qū)ο笫裁磿r候用:
(1)要用到很多角色,某一類擁有相同的特點或者說是屬性
(2)需要反復(fù)取傳遞多個參數(shù)
?
舉例:
import math class Circle(): #定義類role='circle' #類屬性def __init__(self,r): self.r=r #對象屬性def area(self): #動態(tài)屬性print(math.pi*self.r**2)def per(self): print(math.pi*self.r*2) whl=Circle(3) #實例化對象 whl.area() #調(diào)用方法,self就是whl whl.per()?
轉(zhuǎn)載于:https://www.cnblogs.com/wanghl1011/articles/7521139.html
總結(jié)
以上是生活随笔為你收集整理的9月14日学习内容整理:初识别面向对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle之 11g RAC R2 体
- 下一篇: 狮山路将装上“智慧大脑”