• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

TIJ swot_JAVA的初学者(四)

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 51次 | 进入软件测试论坛讨论

领测软件测试网 1.4 Reusing the implementation

We could reuse a class by instantiate it as an obect or place an object of this class inside a new class(this is called composition or aggregation).

1.5 Inheritance: reusing the interface

Inheritance enables us to clone an existing class and make additions and modifications to the clone.The modified “clone” will reflects the change in the original class.Do we need to modify the clone class?

Inheritance represents a certain kind of relationship between classes/types using the concept of base types and derived types. A base type contains all of the characteristics and behaviors that are shared among the types derived from it.

By inheritance, we could add new function to the interface or change the behavior of an existing base-class function.This referred to as overriding that function.

1.5.1 Is-a vs. is-like-a relationship

If inheritance override only base-class function, this is a pure substitution.Like “a circle is a shape“.

When we add new interface elements to a derived type, this substitution isn''t perfect.This can be described as an is-like-a relationshipe. Such as “heap pump is like a cooling system".

1.6 Interchangeable objects with polymorphism

By inheritance, we could create a lot more new objects, which has similarities as the base objects. But is that all?

Let me think...We got too many methods or functions have the same name or identification as a result of inheritance. Polymorphism is the mechanism of OOP to pick up the right one automatically. But we dont need to know how it does this at this stage.

In a non-OOP compiler, the function call generated is early binding, that means the absolute address is needed. In OOP, the program cannot determine the affress of the code until run-time. This concept is called late binging. To perform this, Java uses a special bit of code in lieu of the absolute call. This code calculates the address of the function body, using information stored in the object.This is Java''s dynamic binding.

upcast..

1.6.2 Abstract base classes and interfaces

To declare an class abstract, we prevent creating an object of that class.

We can declare a class or a method as abstract, but abstract method can only be created inside an abstract class.

To take the concept of abstract class one step further, we could declare a class as an interface. Any implementation of methods is strictly forbidden in an interface.

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网