黑马程序员技术交流社区
标题:
Java总论
[打印本页]
作者:
百里青山
时间:
2016-4-5 12:36
标题:
Java总论
1、对象(object)
万物皆为对象(根类Object类)。程序是对象的集合(面向对象程序设计语言OOP)。每个对象都有自己的由其他对象所构成的存储(对象有成员属性)。每个对象都拥有其类型(每个对象都是某个类class的一个实例instance)。某一特定类型的所有对象都可以接收同样的信息(继承)。
2、类型(type)
类描述具有相同特性(数据元素)和行为(功能)的对象集合。是面向对象设计除了基本数据类型外的,一种通用的数据类型。
3、对象作为“服务提供者”
提高对象的内聚性,将对象的设计简化,并凸显其提高的服务价值。
高质量代码的基本要求是:可复用、高内聚、低耦合。
4、封装(信息隐藏)
指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这个抽象数据类型交流与交互。用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。
好处:(1)实现了专业的分工。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用,从而实现了专业的分工。(2)隐藏信息,实现细节。通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开发权限。
5、继承(代码复用)
is-a : 纯粹替代,extends。
is-like-a : 扩展替代,extends 与 implements。
子类与父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的关系,是is-a的关系,子类是父类更加详细的分类。
继承后子类自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法并不能被继承。
另外子类可以写自己特有的属性和方法,目的是实现功能的扩展,子类也可以复写父类的方法即方法的重写(overriding)。
注意:设计继承的时候,若要让某个类能继承,父类需适当开放访问权限,遵循里氏代换原则,即向修改关闭对扩展开放,也就是开-闭原则。
6、多态
相同的对象,调用其相同的方法,参数也相同时,但表现的行为却不同。
子类以父类的身份出现,但做事情时还是以自己的方法(请注意是非private方法)实现。子类以父类的身份出现需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(downcast)是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。
7、单根继承结构
所有类都是继承同一个根类(Object类),提供了极大的向后兼容性。
作者:
小海龙
时间:
2016-4-5 15:27
不错。学习了。
作者:
ZTK12345
时间:
2016-4-5 21:58
很好总结的可以,还不全,赞一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2