我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

python_白李娜_20200122

[复制链接]
つ兜兜里没糖学员认证 发表于 2021-1-22 20:34:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、整理笔记
1.封装
class Dog:
    def __init__(self,name,age,color,breed):
        #定义类的属性(数据)
        #self:指代当前对象
        #变量的作用域:作用的范围
        #name是局部变量,它的作用范围仅限于定义它的函数或者方法内部
        #self.name是成员变量,它的作用范围定义它的类的内部
        self.__name = name
        self.__age = age
        self.color = color
        self.breed = breed
        # __xxxx,变量名前有两个下划线,表示该变量是一个私有变量
        #私有变量只允许子类的内部访问,不能从类的外部进行访问
    '''
    封装:
        把数据和处理数据的逻辑封装起来
        调用方便,并且不需要知道内部的细节
    '''
    def show(self):
        print (self.__name,self.__age,self.__color,self.__weight)

    #getter/setter方法,用于读写对象的属性

    def get_name(self):
        return self.__name
    def get_age(self):
        return self.__age
    def get_color(self):
        return self.__color
    def get_weight(self):
        return self.__weight


    def set_name(self,name):
        self.__name = name
    def set_age(self,age):
        if age>0 and age<=15:
            self.__age = age
        else:
            #抛出异常
            raise NameError('错误的年龄')
    def set_color(self,color):
        self.__color = color
    def set_weight(self,weight):
        if weight>0 and weight<=50:
            self.__weight = weight
        else:
            raise NameError('错误的体重')


wangcai = Dog('旺财',4,'黄白','苏格兰牧羊犬')

wangcai.set_name('wangwang')
wangcai.set_age(10)
wangcai.set_color('白')
wangcai.set_weight(44)
wangcai.show()



2.继承
#  object类是所有其他类的父类
# 如果一个类的父类是object,可以不必声明
class Animal(object):
    #如果没有显式的提供构造的方法,程序会提供一个默认的构造方法
    def run(self):
        print('动物正在跑...')
'''
--继承
Dog类继承了Animal类,我们把Dog类称为子类,Animal类称为父类
继承的好处:子类可以获得父类的全部功能(包括属性和方法)
继承的同时子类也可以有自己的方法,并且子类可以对继承自父类的方法进行重写
'''
class Dog(Animal):
    def bark(self):
        print('wwwwwwwang.....')
    #重写
    def run(self):
        print('dog is running......')
class Cat(Animal):
    def eat(self):
        print('eat fish......')
    def run(self):
        print('cat is climbing......')

a = Animal()
a.run()

dog = Dog()
dog.run()
dog.bark()

cat = Cat()
cat.run()
cat.eat()



3.多态
'''
--多态
   同一个对象在不同的场合表现出不同的状态,称之为多态
   多态可以简化方法的调用

'''
#isinstance(),判断某个对象是否是某一类的一个实例

print(isinstance(dog,Dog))
print(isinstance(dog,Animal))
#自定义的数据类型:类

def run_twice(animal):
    animal.run()
    animal.run()
run_twice(a)
run_twice(dog)


回复

使用道具 举报

关注0

粉丝0

帖子30

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026