什么是面向?qū)ο螅?/h3>
面向過程:
一種以過程為中心的變成思想
簡單的事情
面向?qū)ο螅?/p>
一種更符合人類思維習(xí)慣的編程思想
面向?qū)ο箝_發(fā)就是我們不斷創(chuàng)建對象,使用對象,操作對象來做事情
復(fù)雜的事情(難以找事件過程)
創(chuàng)建一個類別,例如汽車,人類等
?
語言層面:封裝代碼和數(shù)據(jù)
規(guī)格層面:對象是一系列可被使用的公共借口
從概念層面,對象是某種擁有責(zé)任的抽象
?
面向?qū)ο蟪绦蛟O(shè)計規(guī)則:
首先分析有哪些類
每個類有哪些屬性和行為
類與類之間存在的關(guān)系
?
專用名詞:
類:抽象的概念,一類事物
方法:類中定義的函數(shù),對外提供的服務(wù)
類變量:類變量在整個實例化的對象中是公用的
實例引用:實例化一個對象
實例變量:以self.變量名的方式定義的變量
?
?
例子:
?
class Person:
#類變量
name = "default"
age = 0
gender = 'male'
weight = 0
#構(gòu)造方法,在類實例化的時候被調(diào)用
def __init__(self,name,age,gender,weight):
print("init")
#實例的變量self.xx
self.name = name
self.age = age
self.gender = gender
self.weight = weight
def set_name(self,name):
self.name = name
@classmethod
def eat(self):
print("eat")
def play(self):
print("play")
def jump(self):
print("jump")
zhangsan = Person('zhangsan',12,'female',23) #實例化Person類
zhangsan.eat()
print(zhangsan.name,zhangsan.weight,zhangsan.gender,zhangsan.ag
#實例變量和類變量都可以被修改
#類變量需要類來訪問,實例變量需要實例來訪問
print(Person.name)
Print(zhangsan.name)
#類方法和實例方法的區(qū)別
#類是不能訪問實例方法
#Person.play() -->這個會報錯
#如果需要使用類訪問方法,可以在方法加@classmethod 使該方法可以被類訪問
Person.eat() #可被調(diào)用
本文摘自 :https://www.cnblogs.com/