面向對象編程簡單講解

image

面向對象編程

定義:把函數進行分類和封裝後放入對象中,使得開發更快、更強。python

面向對象編程的兩大特性:

  • 封裝
  • 繼承

1. 封裝

顧名思義就是把內容封裝好,在調用封裝好的內容。封裝分兩步:編程

  • 第一步爲封裝內容
  • 第二步爲調用封裝內容
class Person:  #建立類
    def __init__(self,name,age): #__init__()方法稱爲類的構造方法
        self.name = name
        self.age = age
    def detail(self):   #經過self調用被封裝的內容
        print(self.name) #調用屬性
        print(self.age)  
obj1 = Person('santos',18)   #將santos和18分別封裝到obj1(即:self的name和age屬性)
obj1.detail()  #python將obj1傳給參數self(即:obj1.detail(obj1),此時內部self=obj1)
santos
18

2. 繼承

繼承是以普通的類爲基礎創建專門的類對象。面向對象編程的繼承和現實的繼承相似,子類繼承父類的某些特質。例如:

動物:吃喝拉撒函數

貓: 喵喵叫,繼承動物的功能spa

狗: 汪汪叫,繼承動物的功能code

class Animal:
    def eat(self):
        print('%s 吃 ' %self.name)
    def drink(self):
        print('%s 喝 ' %self.name)
    def shif(self):
        print('%s 拉 ' %self.name)
    def pee(self):
        print('%s 撒 ' %self.name)
class Cat(Animal):
    def __init__(self,name):
        self.name = name
    def cry(self):
        print('喵喵叫')
class Dog(Animal):
    def __init__(self,name):
        self.name = name
    def cry(self):
        print('汪汪叫')
c1 = Cat('小白家的小黑貓')
c1.eat()
c1.pee()
c1.cry()
d1 = Dog('胖子家的狗')
d1.eat()
d1.cry()
小白家的小黑貓 吃 
小白家的小黑貓 撒 
喵喵叫
胖子家的狗 吃 
汪汪叫
相關文章
相關標籤/搜索