面向对象
Java的面向对象是一种编程思想,对比面向过程,是处理一件事物的顺序及过程,而面向对象是把功能,特点,属性封装到对象之中,通过对象去处理具体的问题。
例如:打电话的过程
面向过程就是:人拨号 手机呼叫
面向对象 会分为 :人 电话
面向过程比较简单直接 高效,面对对象便于复用,扩展,维护。
封装
在于明确标识出允许外部使用的所有成员函数和数据项;
简单点说就是把类中的某些信息隐藏,不允许外部程序直接拿调用,访问,而是通过该类提供的一些方法来进行对隐藏信息的操作。
优点:
- 只能通过规定的方法访问数据
- 隐藏类的实例细节,便于修改和实现
最常见的就是Javabean的属性私有,提供get set方法对外开放,因为属性的赋值或者获取逻辑只能由JavaBean本身决定,不允许外部程序任意修改。
private String img;
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
继承
继承基类的方法,并做出自己的改变和扩展
子类共性的方法或者属性直接使用父类的,不用自己定义,只需要扩展自己的功能
好处就是减少代码复用性
多态
基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。
继承,方法重写,父类引用指向子类对象
父类类型 变量名=new 子类对象;
变量名.方法名();
不能调用子类特有的功能。
父类子类都有的才能调用,方法重写