python 面向对象思想

面向对象的思维方式:解决问题前,应该考虑用谁解决问题,这个谁就是对象

一、python中面向对象有

1.类:描述的是一类事物,比如动物,人类

2.对象:对象就是类的具体化,比如动物包括:狗、猪等,狗和猪就是对象

3.属性:属性是对象可以做到的能力,比如狗可以汪汪叫,汪汪叫就是狗的一个属性

二、面向对象的三大特征

1.封装

将属性和方法封装到一个抽象的类中

2.继承

1)概念:子类拥有父类的所有属性和方法,继承可以实现代码的重复利用,相同的代码不用重复的编写

2)语法:

3)class 子类名(父类名):
        pass

4)继承分为单继承和多继承:

多继承:一个子类可以继承多个父类

语法:class 子类名(父类名1,父类名2,...)

                pass

如果父类之间存在同名的属性或者方法,应避免使用多继承

4)继承具有传递性

例如:定义一个狗的类别,狗拥有跑的属性,再定义一个小花狗的子类,小花狗也可以跑,那么小花狗便可以继承狗的跑的属性,假如我们现在定义一个小胖狗的子类,小胖狗依然可以跑,那么小胖狗可以继承小花狗的属性,其中我们只在父类中定义了跑的属性,在两个子类中只需要继承就可以调用

class Dog:
      def   run(self):

        pass

class XiaoDog(Dog):

        pass

class Xiaopanggou(xiaogou):

        pass

5)当父类中的属性和方法无法满足子类需求时,可以对方法进行重写。比如在父类中定义的属性是小狗慢慢的跑,如果我们不想让小狗慢慢的跑,便可在子类中将属性进行修改,当程序执行时,只会调用子类中重写的方法,不会调用父类中封装的方法

class Dog:

        def run(self):
print("慢慢的跑“)

修改:

class Xiaogou(Dog):
        def run(self):

print("快点跑")

6)私有方法和属性

在方法和属性之前加两个下划线即可

__属性名

特点:类别外部不可查看               

3.多态:不同的子类对象调用相同的父类方法,产生不同的执行结果

一个父亲,多个儿子,龙生九子,各有不同


版权声明:本文为weixin_61929116原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。