类的执行过程:先进行类的实例化,再进行内置函数(构造方法)的执行,执行调用的方法,再执行类的析构方法。

类属性:当对象有共同属性时,将其拨离出来,属于类,直接使用类名调用(类名.类属性)

面向对象的三特性:封装、继承、多态;

一、封装

调用被封装的内容实例:

class Person():

    # 类的公共属性
    gj='中国'
# 创建构造方法,根据类创建对象自动执行
    def __init__(self,name,age,fight):
        self.name=name
        self.age=age
        self.fight=fight
# 创建类的方法,即函数,类创建函数在括号中要带"self
    def caocongzhandou(self):
        self.fight=self.fight-200

    def info(self):
        print('{0},{1},{2},草丛战斗力:{3}'.format(self.name,self.age,self.gj,self.fight))

    def ziwoxiulian(self):
        self.fight=self.fight+100

    def info1(self):
        print('{0},{1},自我修炼:{2}'.format(self.name,self.age,self.fight))


#根据类Person创建对象per1,将“'小明','18岁',1000”封装到Per1name,age,fight属性中
Per1=Person(u'小明','18岁',1000)
# 根据类Person创建对象per2,将“'小花','20',800”封装到Per1name,age,fight属性中
Per2=Person(u'小花','20',800)

Per1.info()
Per2.info1()
# 再执行一次程序
Per1.info()
Per2.info1()

 

二、类的继承

下面的例子将动物的共性都放到父类中,子类中展示每个动物特有的习性,最后每个子类再调用公共的习性

 

#!/usr/bin/env python
#coding:utf-8

#author:wandering


class Animal():

    def __init__(self,name):
        self.name=name
    # 动物的共性都放到父类中
    def eat(self):
        print('{0}吃'.format(self.name))
    def drink(self):
        print('{0}喝'.format(self.name))
    def la(self):
        print('{0}喝'.format(self.name))

    # 子类猫继承动物习性
class Cat(Animal):
    # 子类创建构造方法
    def __init__(self,name):
    # 子类继承父类的属性
        Animal.__init__(self,name)
    # 子类特有的习性
    def cry(self):
        print(u'{0}喵喵叫'.format(self.name))


# 子类狗继承动物习性
class Dog(Animal):
    # 子类创建构造方法
    def __init__(self,name):
    # 子类继承父类的属性
        Animal.__init__(self,name)
    # self.practise=practise

    def cry(self):
        print(U'{0}汪汪叫'.format(self.name))

# 对象C1赋值
C1=Cat(u'我家的小猫')
# 对象C1调用父类的方法
C1.eat()
C1.drink()
C1.la()
C1.cry()
# 对象D1赋值
D1=Dog(u'隔壁老王家的小狗')
# 对象D1调用父类的方法
D1.cry()
D1.eat()
D1.drink()
D1.la()

 

python的继承顺序:

1.从左到右:

当子类继承N个父类,父类中有同样的方法,当子类调用父类方法时,顺序是从左到右。

2.从下到上:

当子类继承父类之后,子类又重写了父类的方法,调用时先调用子类的方法

 

posted on 2019-05-22 16:02  小妞妞馒馒  阅读(1031)  评论(0编辑  收藏  举报