OOP面向对象
- 抽象abstract 抽取共同形象(行为和特征即是方法与成员变量)
将多个个体相同或相似的行为和特征抽取出共同的定义。
张三在食堂吃了2两米饭
面向过程的思维:
1.变量姓名 值为张三
2.变量场所名称 值为食堂
3.变量食物名称 值为米饭
4.变量食物重量 值为2两
面向对象的思维:
1.类学生 成员变量 姓名 值为张三
2.类场所 成员变量 名称 值为食堂
3.类食物 成员变量 名称 值为米饭 重量 值为 2两
- 封装
封装总是伴随着抽象,将抽取的特征和行为装到类定义之中,使用的时候,使
用某个行为或者访问某个特征,其他的行为和特征被隐藏。 - 继承 继承父类的特征和行为
1.多个类的定义再次抽取共同的形象就是父类(当有无法具体描述但又必须存
在共同的行为的时候,这个类就是抽象行为,这个类是抽象类)。
2.当一个类有特征和行为可能来自不同的分类,如果某些可能的父类只提供了
行为来继承,往往这个父类可能是接口。
接口:
接口是抽象的最高境界,接口只有方法和静态成员变量。
接口定义了行为(规范) -- 需要规范一堆类的行为
-- 从多个类提取出共同的行为
- 接口提供了方法
*****************题目********************************
- 公交公司网点可以充值 办理公交卡 注销公交卡 红旗超市可以充值公交卡 但不能注销
- 酒店可以查询身份证入住客人是否为逃犯,信用限制人群,铁路公司可以查询身份证是否为逃犯,信用限制人群,但不能注销身份证,公安机关可以注销身份证
- 接口定义了行为(规范)
- 场景一 需要规范一堆类的行为 如 规范 学校 和 工厂 农场的 排污行为,需要规定处理排污接口,各个类实现接口
- 场景二 从多个类提取出共同的行为 成为接口,各个类遵守同一接口,这样 使用者不用关心接口的具体实现类,而值关心有没有能够实现的类 门 和 凳子 和 诺基亚手机都可以开核桃,开核桃的人只关心有没有实现开核桃的功能,所以使用的是接口,具体是由实现类完成,在定义时候 只需要定义使用接口
**********************题目***********************************
- (场景一)环保局规定 学校 企业 工厂 农场 都要排污合格
- (场景一) 送快递都要实名制
**********************题******************************
(场景二)汽车 火箭 交通工具(抽象类 运输)轮船
(场景二)筷子 竹制品 餐具 门栓
(场景二)餐盘 餐具 帮助吃饭 方便饭盒
(场景二)门 凳子 手机 都可以开核桃
(场景二)网店 实体店 邮政局 快递公司 跑腿者 他们关于送东西这件事 网店送货 打印输出(XX)网店本次通过(跑腿者)送货成功
超市付款 刷卡 扫微信 支付宝二维码 实现支付 支付接口
超市 (银行卡 购物卡 微信 支付宝 类 都有支付功能(成员方法)),
超市类 结账功能 使用 支付接口结账多态
一个名称多种形态,通过不同的子类或者实现类,同一功能(方法名)运行过
程或结果不同 -动态多态
- 描述一个完整的场景,除了涉及到的类之外,往往还需要环境类