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