Head First Java第二章

Head First Java第二章学习总结

拜访对象村


  • 对象是已知的事物:实例变量(instance variable)
  • 对象会执行的动作:方法(methods)

  • 类是对象的蓝图。
  • 使用圆点(.)符号所代表的操作数来存取对象的变量和方法。

1.类的特点: 类是对象的类型,具有相同属性和方法的一组对象的集合。

2.对象的属性:对象具有的各种特征,通俗的讲就是比喻成有什么。

3.对象的方法:对象执行的操作,通俗的讲就是比喻成能干什么。

面向对象的三大特征:

  1. 封装:找到变化并且把它封装起来,你就可以在不影响其它部分的情况下修改或扩展被封装的变化部分,这是所有设计模式的基础,就是封装变化,因此封装的作用,就解决了程序的可扩展性。

  2. 继承:子类继承父类,可以继承父类的方法及属性,实现了多态以及代码的重用,因此也解决了系统的重用性和扩展性,但是继承破坏了封装,因为他是对子类开放的,修改父类会导致所有子类的改变,因此继承一定程度上又破坏了系统的可扩展性,所以继承需要慎用,只有明确的IS-A关系才能使用,同时继承在在程序开发过程中重构得到的,而不是程序设计之初就使用继承,很多面向对象开发者滥用继承,结果造成后期的代码解决不了需求的变化了。因此优先使用组合,而不是继承,是面向对象开发中一个重要的经验。

  3. 多态:接口的多种不同的实现方式即为多态。接口是对行为的抽象,刚才在封装提到,找到变化部分并封装起来,但是封装起来后,怎么适应接下来的变化?这正是接口的作用,接口的主要目的是为不相关的类提供通用的处理服务,我们可以想象一下。比如鸟会飞,但是超人也会飞,通过飞这个接口,我们可以让鸟和超人,都实现这个接口,这就实现了系统的可维护性,可扩展性

你可能感兴趣的:(我的Java学习之旅)