面向对象及编程

C语言是一门面向过程的编程语言,
C++、Java这些编程语言都是面向对象。
        分门别类:抽取事物的共性,将相似事物归纳为一个类别

面向的对象的核心概念:
        类:就是一个事物的类别 
                |--属性
                |--方法          
        对象(object):某一个类别中的具体案例      

python进行面向对象编程
        定义类
        创建对象
        调用对象的属性或者方法,完成具体案例

定义类:
        分析类的共性:
                静态特征:属性
                动态的行为特征:函数        方法method

python,定义需要关键字class
        class 类名称(父类):
                                #定义类的成员

面向对象的专业术语:
OO(oriented object):面向对象
OOP(oriended object programming):面向对象的编程
OOA(oriented objectanalysis):面向对象的分析
OOD(oriented object design):面向对象的设计
OOT(oriented object test):面向对象的测试

python如何定义类:关键字class

class Classname[(superclass)]:
                def_init_(self):
                def method01():
                                pass

初始化对象
对象名称 = ClassName() #类似Java中:User ul = new User()

面向对象的三大特征:
                封装
                继承
                多态
                【抽象】

封装:在面向对象中,封装往往有两层意思
        1.类封装属性和方法
        2.基于安全性属性考虑,面向对象会将属性私有化

一定要记得,python的标识符命名的特殊的规范:
        1.所有都是大写的,表示常量
        2.大驼峰一般表示类
        3._xxx
                        from xxxx import *
        4.__xxx
                         魔法属性或者方法
        5.__xxx   
                        封装属性或者方法

总结:python中,封装共有三种写法,一般而言,哪一种都可以,根据公司的规定写就ok

继承(extend):
        类与类之间:目的(复用代码)
python如何实现继承:
        classClass_Name(父类):
                  pass

父类(基类,超类):super class

注意:在python中,如果子类中初始化函数不存在,则会根据继承去初始化父类的初始化函数
        如果子类有了自己的初始化函数,要在子类的初始化函数的第一行调用父类的初始化函数
        使用super()._init_([传递对应的属性参数])

方法重写:
                方法重写,方法覆盖(override overwrite)
                        指的是在继承的基础上,子类继承父类的方法不能满足子类使用时,我们就可以重写或覆盖方法。

函数重载(overload)
        在强数据类型的编程语言中(如Java、C、C++等)
                函数名称相同,函数参数个数不同或者类型不同,从而形成多个同样名称的函数调用时,根据参数的个数或者类型自动完成调用函数
                注意:弱数据编程语言中,默认无法实现函数重载,如果要实现,则需要使用特手段面向对象及编程_第1张图片

面试题:overload、overwrite、override三者的区别:
补充
        super(),这个全局函数比较特殊,在面向对象中,默认指向父类,是一个指针
多态
        一种事物的多种状态
        面向对象中,多态指的是:在继承的基础上,使用跟大的父类来代替子类的现象,被称为多态简而言之,父类引用指向子类实例
List
ArrayList
ArrayList al = new ArrayList();        //创建子类的方式
List ls = new ArrayList();                //多态
l= ArrayList()
像python、JS等弱数据类型语言,天生支持多态
通过大量的面向对象的案例,进行面向对象的练习

异常处理
        软件的容错能力的处理
        异常:软件运行过程中的不正常像好像,如果不做处理,则会导致软件无法正常执行而挂掉
        异常处理:就是将这种异常进行处理,使得代码能继续正常运行(软件的容错处理)
        异常处理,就是软件的稳定性的提高和容错能力的提高

注意:异常和致命性错误的区别
        异常是一种错误,但是错误不一定是异常一般致命性的错误,需要修改代码来解决而异常是可以通过异常处理的方案来修复

python提供异常处理的方案
try catch解决方案
try catch
表示通过尝试着抓捕一场来进行异常解决
try:
        #有可能出现异常的代码
        #代码
        # .......
except [xx Exception |xxxError]:
        #异常处理
except [xx Exception |xxxError]:
        #异常处理
[else:
        没有异常时执行的代码
]
[finally:
                #必须要执行的代码
]
finally语法
        不管存不存在异常,都会执行该代码块
        所以一些必须要执行的代码建议放在finally中,以保证肯定执行如回收资料、销毁缓存等等
        注意:如果函数中,在finally之前存在了return,而且在finally执行前,已经return,则finally中的修改,不会影响注意:但是finally存在return,则之间的就会失效面向对象及编程_第2张图片

你可能感兴趣的:(python)