一,什么是面向对象?
1,什么是对象:
生活中的实体:一杯水 一只猫 一个人
在python中对象就是类的实例表现
2,什么是面向对象:
人关注对象 人关注事物的信息
python中物品的特征是 类,物品就是对象
*在python中的类,就是模子,确定对象将会拥有的特征(属性)和行为(方法)
*对象是类的实例化表现
*类是对象的类型
*对象是特定类型的数据
3,属性和方法:
属性:对象具有各种静态特征---对象有什么
方法:对象具有各种动态行为---对象能做什么
4,类和对象的关系:
— 类:
抽象的概念, 现实当中虚拟的存在,
模板 限定了一种类型中应该有什么及能够做些什么
— 对象:一个看得到 摸得着的实体
在实际开发过程中 通常会先 定义类 根据类去实例化对象 完成相应的程序逻辑
二,面向对象的三大特征:封装 继承 多态
1,封装:
*将类当中的某些信息,隐藏在类内部,不允许外部程序直接访问
*只能通过该类提供的一些方法类实现对隐藏信息的操作和访问
*隐藏对象的信息,同时留出访问的接口
— 特点:
*只能通过规定的方法访问数据
*隐藏类的实例细节 方便修改和实现的目的
2,继承:
*一种类与类之间的关系
*使用已存在得类的定义为基础建立新类
*新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性的继承父类(在编码当中子类一旦继承父类,必须承接父类所有的开放的一些特征,没有任何选择余地)
父类(基类)
子类(派生类)
子类继承父类
— 继承的关系:
*满足 "A is a B" 就可以形成继承关系,(猫是一种动物,狗是一种动物,他们都可以继承动物类)
— 特点:
利于代码复用 缩短开发周期
3,多态:
允许不同类的对象对同一消息做出不同的响应,一定要满足继承关系,并且要方法重写;
--必要条件:
*满足继承关系
*父类引用指向子类对象