python中一切結尾物件,型別的本質就是類。精簡**,方便使用,方便修改。在為呼叫函式的時候,系統不會建立物件,只有在賦值之後,才會有乙個物件生成。
def
person
(name, age, ***, hobby)
: person =
return person
zhangsan = person(
'張三',10
,'男'
,'吃'
)lisi = person(
'李四',20
,'女'
,'玩'
)print
(zhangsan)
print
(lisi)
輸出:
上述的person
就是乙個類,是抽象的,其中可以包括屬性,但不知道屬性的具體值
上述中zhangsan
就是乙個物件,有屬性相對應的值。根據類中描述的屬性來按順序進行定義。
自定義類
class 類名:
屬性1= 『a』
屬性2= 『b』
類名通過類名.屬性
來檢視屬性。
class
person
:def
__init__
(self,
*args)
: self.name = args[0]
self.weight = args[1]
self.age = args[2]
self.say = args[3]
alex = person(
'張三'
,100,32
,'你好'
)#例項化
print
(alex.name)
print
(alex.weight)
print
(alex.age)
print
(alex.say)
輸出:
類的建立過程:
類名()
會創造出乙個物件,建立乙個self變數
呼叫__init__
方法,類名括號中的引數會被接收到self中
執行__init__
方法
返回self
class
person
:def
__init__
(self,
*args)
:#初始化方法,self是乙個物件,是乙個必須傳的引數
self.name = args[0]
self.weight = args[1]
self.age = args[2]
self.say = args[3]
defwalk
(self,n)
:#方法,一般情況下必須傳self引數,且必須寫在第乙個,後面還可以傳其他引數。
print
('%s走了%d步'
%(self.name,n)
)alex = person(
'張三'
,100,32
,'你好'
)person.walk(alex,10)
#類似於下面的句子,但下面的要簡單得多
alex.walk(
10)
輸出:
物件能做的事:
類名的作用:
類屬性(靜態屬性)
在類中直接定義的屬性
class
person
: country =
'china'
#類屬性,是靜態屬性,只要建立了這個類,這個屬性就一定存在
candy = person(
)print
(candy.country)
輸出:
circle 屬性 半徑 ,兩個方法:求周長和面積
from math import pi
class
circle
:def
__init__
(self,r)
: self.r = r
defarea
(self)
:return pi*
(self.r**2)
defperimeter
(self)
:return
2*pi*self.r
c1 = circle(6)
print
(c1.area())
print
(c1.perimeter(
))
輸出: 物件導向 初識物件導向
面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...
17物件導向
scala語言是一門面向函式程式設計的語言,並且相容物件導向的思想 scala中類分為兩種 描述類class,執行類object。類不需要使用public修飾,乙個檔案可存在多個類。class student object demo 1 在類名後面新增 完成構造方法 2 乙個類只能有乙個主構造方法,...
初識物件導向
1.例項化 2.init 方法 3.類方法和靜態方法 4.訪問控制 5.屬性裝飾器 在python中,用變數表示特徵,用函式表示技能,因而具有相同特徵和技能的一類事物就是 類 物件是則是這一類事物中具體的乙個.三要素類 class 用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所...