【重头学java系列01】面向对象
本系列博客换一个角度讲述java的内容,基于个人理解,如有偏颇,还望指正。
小节
- 对象
- 面向对象
- 面向对象的特征
对象
对象,一般指的是客观存在的事物,如喇叭花,黄牛,山羊,等等具体的事物,他们有状态,有行为。Alan Kay [ 维基百科 ] 曾总结道:万物皆对象。
面向对象
在计算机编程中,经过了面向过程编程(面向的最小的单元是函数)后,人们发现,在人类的思维习惯中,比如说组装一台电脑这个需求,一般来说只需要将显卡,cpu等组件买齐就可装配一台电脑,而不是去拿二极管,三极管再去造,这样的设计并不够直观,而且适应性不强。
面象对象则更加优秀,他将组装一台电脑抽象为cpu,显卡等基本单元,更加接近于事物的原貌。而至于cpu的的需求则和电脑一样,就不往下拆分了。那么,cpu只是一个笼统的类,我们有i7高配等具体的对象
面向对象三大基本特征
1. 封装
cpu你只能调人家开放给你的接口去使用,未开放的你无法使用。
2. 继承
i7高配继承自i7,自然就具有i7的属性和方法。
3. 多态
i7高配来自i7,也可以叫做i7,但执行运算的时候频率比较高,i7同样执行运算时频率比较低。同样的运算,特征不一样。
示例代码
一段简单的java代码,例如:
class A{
private int type=3;// 外部无法直接访问,封装性
public int getType()
{
return type;
}
}
class B extends A{ // 继承
public int getType()
{
return 5;
}
public static void main(String args){
A a=new A();
B b=new B();
A c=new B();
a.getType();// 3
b.getType();// 5
c.getType();// 3,体现了多态性
}
}