码迷,mamicode.com
首页 > 编程语言 > 详细

Python面向对象

时间:2017-06-16 22:01:32      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:int   span   封装   通过   构造方法   sel   bsp   color   属性   

面向对象三大特性

一、封装

#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面向对象

标签:int   span   封装   通过   构造方法   sel   bsp   color   属性   

原文地址:http://www.cnblogs.com/gqq-0504/p/7029252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!