1.面向对象的特征
抽象:抽象是将一类事物和对象提取共同特征的过程.包括行为抽象和数据抽象,抽象只注重对象的属性和行为有哪些,不关注对象的实现细节.
继承:继承的出现是为了提供代码的复用性,将对象拥有共同属性或者方法的特征继承下来.被继承得类叫做子类,子类拥有父亲类的属性和方法.
设计模式之禅对与继承有一个很好的描述:鱼生鱼,虾生虾,但是世界没有亮片完全相同的叶子.这句话阐述的核心就是子类和父类整体相似
但是也存在差异.
封装:封装的核心价值在隐藏实现的细节, 对调用者或者说是用户更加友好.一个类实现一个外部调用的方法, 但实际该方法内部是由多个private方法共同的实现的
这样外部类不需要管内部类怎么实现的该方法.这就实现了解耦合.
对有些属性和方法相对需要安全性可以用封装的特性不提供外部访问的方法从而提高数据的安全性
public class PrivateDemo { private int x = 10 ; private int core (int y) { return x * x ; } public int getTwo (int y) { return core(y); } }多态性:
多态性可以说是面向对象的核心功能,它实现了同一个消息对于同一个父类引用不同子类产生不一样的反馈.例如你在不同软件上f1产生的效果不一样.
多态实现的基础:1.继承子类 2.要有重写 3.要有向上转型.
Demo
我对多态的理解是向上转型后对象是子类但是引用是父类.所以方法还是方法无法使用子类扩展的方法. 多态的特征就是使用的是子类重写的方法
编译时多态指的是方法重载,运行时多态指的是方法的重写也就是上面的demo。
第一次写博客,大家见谅