java基础之面向对象
面向对象
什么是面向对象?
面向对象相对于面向过程来说的话,就是两种不同的处理问题的角度。
- 面向过程:更注重事情的每一个步骤及顺序
- 面向对象:更注重事情有哪些参与者,并且各自需要做什么
(一群人都同时参与处理一件事情,而处理事情的过程中,每一个人扮演了什么角色,这个角色做了哪些事情)
案例:
一个人去洗衣服。
面向过程:
1.打开洗衣机
2.放入衣服
3.加入洗衣服
4.清洗
5.烘干
面向对象:
人:
1.打开洗衣机
2.放入衣服
3.加入洗衣服
洗衣机:
1.清洗
2.烘干
优点:
1.直接高效,易于复用、拓展、维护
面向对象的三大特性
1.封装
意义:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项。内部细节对外部调用透明,外部调用无需修改或者关心内部实现。
高内聚:类的内部数据操作细节自己完成,不允许外部干涉
低耦合:仅对外暴露少量的方法用于使用。
⚠️注意:你想要的东西,我可以给你,但是你不需要知道我是通过怎样的方式拿到的。你只需要知道我可以给你就行。
- 1.javabean的属性私有,提供getset对外访问,因为属性的赋值或者获取逻辑只能由javabean本身决定,而不能由外部胡乱修改。
private String name;
public void setName(String name) {
this.name = "万水千山——"+name;
}
⚠️注意:该name有自己的命名方式,明显不能通过外部直接赋值。
- 2.orm框架
操作数据库时候,我们不需要关心链接是如何建立的,sql是如何执行的,只需要引入mybatis,调方法即可。
封装的好处:代码的安全性
2.继承
意义:继承基类的方法,并做出自己的改变或者拓展。子类共性的方法或者属性直接使用父类的,而不需要自己再定义,只需要拓展自己的个性化的。
3.多态
意义:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。
多态出现的三个条件,缺一不可:
1.继承,
2.方法重写,
3.父类引用指向子类对象。
父类类型 变量名=new 子类对象;
变量名.方法名();
无法调用子类特有的功能
也就是说明,这个方法在父类中存在,并且被子类重写。
4.抽象
父类为子类提供一些属性和行为,子类根据业务需求实现具体的行为。
抽象类使用abstract进行修饰,子类要实现所有的父类抽象方法否则子类也是抽象类。
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/16496350.html

浙公网安备 33010602011771号