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