03_面向对象_day01 1. 面向对象的简称?
面向对象编程 —— Object Oriented Programming 简写 OOP,是一种编程思想或者方式 2. 面向对象和面向过程的区别?
面向过程是早期的一个编程思想,所有的步骤从头到尾逐步实现,把某些功能独立的代码块封装成函数,然后顺序的调用不同的函数,注重步骤与过程,不注重职责分工,适合开发简单的项目。
面向对象相比函数是一个更大的封装,面向对象注重对象和职责,不同的对象承担不同的职责,适合开发比较复杂的项目。 3. 类和对象的概念?
类和对象是面向对象的两大核心概念,
类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。就好比图纸或者模板,根据这个模板可以创建很多个对象
对象是由类创建出来的一个具体存在,可以直接使用。 4. 类和对象的关系?
类是模板,对象是根据类这个模板创建出来的,应该 先有类,再有对象 类只有一个,而对象可以有很多个,不同的对象之间属性可能会各不相同 类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少 5. 属性和方法是什么?
对对象的特征描述,通常可以定义成属性 对象具有的行为(动词),通常可以定义成方法 6. 如何定义类并创建对象?
class 类名: def 方法1(self, 参数列表): pass 类名符合大驼峰命名,方法第一个参数必须是self,self 就表示 当前调用方法的对象自己在方法内部,可以通过 self. 访问对象的属性,也可以通过 self. 调用其他的对象方法
创建一个对象如下:
对象变量 = 类名() 自动分配内存空间,自动初始化方法(定义属性) 7. __init__()方法的作用
初始化方法,在对象创建的时候会自动执行,主要用来定义类的属性 8. __str__()方法的作用
返回对象的描述信息,print 函数输出对象变量时,能够打印自定义的内容,必须返回字符串 9. __del__()方法的作用
对象被从内存中销毁前,会被自动调用 10. 面向对象的三大特点
封装、继承、多态 11. 如何理解面向对象的封装?
面向对象编程的第一步,就是要把属性和方法封装到类中,外界使用类创建对象,然后让对象调用方法,对象方法的细节都封装在类的内部。 03_面向对象_day021. 私有属性、私有方法;伪私有属性和方法
私有属性:对象不希望公开的属性,语法是在属性前面加上__属性名
私有方法:对象不希望公开的方法,语法是在方法前面加上__方法名
伪私有属性和方法是指在Python中并没有真正意义上的私有,而是把属性或者方法名前面加上了_类名,可以通过_类名__属性名的形式访问,但是不推荐。 2. 继承的作用,以及语法
继承实现了代码的重用,子类可以拥有父类的所有方法和属性。
class 子类名(父类名):
pass 继承具有传递性,子类可以拥有所有与子类有继承关系的父类方法和属性。 3. 重写父类方法,如何调用重写的父类方法?
当父类的方法实现不能满足子类需求时,可以对方法进行重写(override)
重写父类方法有两种情况:
覆盖父类的方法,子类中创建一个跟父类同名的方法;
对父类方法进行扩展,使用super().父类方法调用,另外可以通过父类名.父类方法()的形式去访问,但是不推荐。 4. 多继承的概念以及语法
多继承:子类可以拥有多个父类,并且具有所有父类的属性和方法。多个父类之间应尽量避免同名的方法和属性。 class 子类名(父类名1, 父类名2...) pass 5. 多态的概念。
不同的子类对象调用相同的父类方法,产生不同的执行结果 多态可以增加代码的灵活度,以继承和重写父类方法为前提,是调用方法的技巧,不会影响到类的内部设计
|