1. 程式人生 > >對象,類、面向對象編程

對象,類、面向對象編程

() 發生 應該 python3 student spa tex 角度 之一

對象:

對象是特征與技能的結合體

:

對象是特征與技能的結合體,而類則是一系列對象相同的特征與技能的結合體

強調:

1.對象是具體存在的事物,而類則一個抽象的概念

2.站在不同的角度總結出的類與對象是不同的

在現實世界中:先有一個個具體存在的對象,然後隨著人類文明的發展才總結出類的概念

在程序中: 先定義類,後調用類來產生對象

class OldboyStudent:

#相同的特征

school = ‘oldboy‘

#相同的技能

def choose_course(self):

print(‘choosing course‘)

# print(‘===>>>‘)

# 類是一系列對象相同的特征(變量)與技能(函數)的結合體,即類體中最常見的就是變量與函數的定義

# 但其實類體中是可以存在任意python代碼的

# 類體代碼會在類定義階段立即執行,會產生一個類名稱空間,用來將類體代碼執行過程中產生的名字都丟進去,查看 方式如下

先定義類,後調用類來產生一個對象

# 總結:

#1. 類本質就是一個名稱空間,或者說是一個用來存放變量與函數的容器

#2. 類的用途之一就是當做名稱空間從其內部取出名字來使用

#3. 類的用途之二是調用類來產生對象

#. 後調用類來產生對象:

# 調用類的過程稱之為類的實例化

,調用類的返回值稱之為類的一個對象/實例

# 調用類發生了?

# 1. 會產生一個對象,然後返回

class OldboyStudent:

#相同的特征

school = ‘oldboy‘

# stu1,‘李鐵蛋‘,18,‘male‘

def __init__(obj, name, age, sex):

obj.name = name #stu1.name=‘李鐵蛋

obj.age = age #stu1.age=18

obj.sex = sex #stu1.sex=‘male‘

#相同的技能

def choose_course(self):

print(‘choosing course‘)

stu1=OldboyStudent(‘李鐵蛋‘,18,‘male‘) #__init__(stu1,‘李鐵蛋‘,18,‘male‘)

# 總結__init__的功能: 是在實例化時就為對象初始自己獨有的特征

# 註意:不能有返回值

# 1. 屬性查找順序

# 先從對象自己的名稱空間找,沒有則去所屬的類中找

# 類中定義的變量是所有對象共享的,對象可以來用,類也可以來使用,類一旦改變自己的數據屬性的值,所有 的對象都能感知到

#類中定義的變量是類的數據屬性,類可以用,對象也可以用,大家都指向同一個內存地址,類變量值一旦改變所 有對象都跟著變

#類中定義的函數是類的函數屬性,類可以用,類來調用就是一個普通的函數,但其實類中定義的函數是給對象 用的,而且是綁定給對象用的

# 1. 類的函數: 該傳幾個參數就傳幾個

# 2. 綁定方法,指向類的函數: 特殊之處是綁定給誰就應該由誰來調用,誰來調用就會將誰當做第一個參數自 動傳入

# stu1.choose_course()

python3 中定義了一切皆對象

對象,類、面向對象編程