A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 百里青山 高级黑马   /  2016-4-5 12:36  /  516 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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类),提供了极大的向后兼容性。

2 个回复

倒序浏览
不错。学习了。
回复 使用道具 举报
很好总结的可以,还不全,赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马