1. 程式人生 > >Python面向對象

Python面向對象

self. 面向對象 init self foo pri cat cnblogs 執行

面向對象三大特性

一、封裝

#1.將內容封裝到某處
#創建類
class Foo:
    def __init__(self,name,age):   #稱為構造方法,根據類創建對象時自動執行
        self.name=name
        self.age=age
#根據類Foo創建對象
#自動執行Foo類的__init__方法
obj1=Foo("wupeiqi",18)  #將wupeiqi和18分別封裝到obj1(即self)的name和age的屬性中
obj2=Foo(alex,73)
#2.從某處調用封裝的內容
#2.1通過對象直接調用被封裝的內容
class
Foo(): def __init__(self,name,age): #稱為構造方法,根據類創建對象時自動執行 self.name=name self.age=age obj1= Foo(wupeiqi,18) print(obj1.name) print(obj1.age) obj2=Foo(alex,73) print(obj2.name) print(obj2.age)
#2.2通過self間接調用
class Foo():
    def __init__(self,name,age):   #稱為構造方法,根據類創建對象時自動執行
self.name=name self.age=age def detail(self): print(self.name) print(self.age) obj1=Foo(wupeiqi,18) obj1.detail() #python默認將obj1傳給self參數,即obj1.detail(obj1),所以此時方法內部的self=obj1,即:self.name是wupeiqi;self.age是18 obj2=Foo(alex,73) obj2.detail()

二、繼承

#繼承
#   動物:吃、喝、拉、撒
#
#    貓:喵喵叫(貓繼承動物的功能)
#
#    狗:汪汪叫(狗繼承動物的功能)
class Animal:
    def eat(self):
        print(%s吃%self.name)
    def drink(self):
        print(%s喝%self.name)
    def shit(self):
        print(%s拉%self.name)
    def pee(self):
        print(%s撒%self.name)
class Cat(Animal):
    def __init__(self,name):
        self.name=name
        self.breed=
    def cry(self):
        print(喵喵叫)
class Dog(Animal):
    def __init__(self,name):
        self,name=name
        self.dreed=
    def cry(self):
        print(汪汪叫)
#############執行##############
c1=Cat(小白家的小黑貓)
c1.eat()
c2=Cat(小黑家的小白貓)
c2.drink()
d1=Dog(胖子家的小痩狗)
d1.eat()

三、多態

Python面向對象