1.什么是is-a规则
is-a 关系也叫继承或泛化,比如学生和人的关系、手机和电子产品的关系都属于继承关系。 has-a 关系通常称之为关联,比如部门和员工的关系,汽车和引擎的关系都属于关联关系;关联关系如果是整体和部分的关联,那么我们称之为聚合关系;如果整体进一步负责了部分的生命周期(整体和部分是不可分割的,同时同在也同时消亡),那...
解析:本题考察的知识点是“is a”和“has a”的区别。“is a”代表的是类之间的继承关系,比如PC机是计算机,工作站也是计算机。PC机和工作站是两种不同类型的计算机,但都继承了计算机的共同特性。因此在用Java语言实现时,应该将PC机和工作站定义成两种类,均继承计算机类。 “has a”代表的是对象和它的成员的从...
is like a 实现关系:接口 满足is like a 的表达式也是一种继承 实现关系通常是:类实现接口 但是在继承中,仅覆盖了父类方法即为Is-a;若在覆盖父类方法基础上有新增方法,则为Is-like-a。 例子: 1.假设你确定两件对象之间是is-a的关系,那么此时你应该使用继承。比方菱形、圆形和方形都...
java中is a和 has a Java中is-a和has-a的区别 1.“is-a”是继承的关系,比如人是动物,人和动物是继承的关系;2.“has-a”是聚合的关系,比如人有眼睛,人和眼睛是聚合的关系;3.如果一个类继承自另一个类,那么它们是“is-a”的关系,如果一个类的成员中引用了另一个类,那么它们是“has-a”的关系...
纯粹的继承关系是派生类只覆盖基类的方法。这种基类和派生类的关系称为 is-a 关系。比如 “笔记本是电脑”。 有时候,我们会在派生类中实现新的接口,用于扩展派生类。虽然新的派生类仍然可以替代基类,但基类无法访问派生类中新实现的方法。这种关系称为 is-like-a 关系,即这个派生类像基类,但并不完全是。
如果子类型满足“is-a”条件并且主要在类层次结构中提供附加功能, 则继承是可行的方法。 当然,只要重写的方法保留Liskov替换原则所提倡的基本类型/子类型可替换性,就允许方法重写。 另外,我们应该记住,子类型继承了基类型的API,这在某些情况下可能过度或仅仅是不合需要的。
is-a就是继承的关系 比如猪继承动物,那么猪IS-A动物
has a 组合 like a / is a 继承。 继承是基于行为相似的。数学里的正方形和矩形在OO里就不能继承。
java 中聚合与组合以及has a、is a关系说明 2011-02-12 17:32 概念 聚合:表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如电脑和鼠标,就可以用一下图形表示: 组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在。组合关系的“部分”,是不...