日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java is-a_java中 is - a和 has - a的区别

發布時間:2025/3/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java is-a_java中 is - a和 has - a的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java中is-a和has-a的區別

1.“is-a”是繼承的關系,比如人是動物,人和動物是繼承的關系;

2.“has-a”是聚合的關系,比如人有眼睛,人和眼睛是聚合的關系;

也可以理解為 is-a 是“繼承”

但has-a是“接口”關系。是“相互依賴”的關系,同時它們的生命周期都是一樣的。

我們以一道scjp考題為例,來講解"is a"和"has a"的區別 :

Your chief Software designer has shown you a sketch of the new Computer parts system she is about to create. At the top of the hierarchy is a Class called Computer and under this are two child classes. One is called LinuxPC and one is called WindowsPC.

The main difference between the two is that one runs the Linux operating System and the other runs the Windows System. Under the WindowsPC are two Sub classes one called Server and one Called Workstation. How might you appraise your designers work?

a) Give the goahead for further design using the current scheme

b) Ask for a?re-design?of the hierarchy with changing the Operating System to a field rather than Class type

c) Ask for the option of WindowsPC to be removed as it will soon be obsolete

d) Change the hierarchy to remove the need for the superfluous Computer Class.

答案:b

解析:本題考察的知識點是“is a”和“has a”的區別?!癷s a”代表的是類之間的繼承關系,比如PC機是計算機,工作站也是計算機。PC機和工作站是兩種不同類型的計算機,但都繼承了計算機的共同特性。因此在用?Java語言實現時,應該將PC機和工作站定義成兩種類,均繼承計算機類。

“has a”代表的是對象和它的成員的從屬關系。同一種類的對象,通過它們的屬性的不同值來區別。比如一臺PC機的操作系統是Windows,另一臺PC機的操作系統是Linux。操作系統是PC機的一個成員變量,根據這一成員變量的不同值,可以區分不同的PC機對象。

再比如張三和李四都是人,但他們的名字不一樣,可以以此區分這兩個具體的人。名字應該作為人的成員變量。如果將名字叫“張三”的人和名字叫“李四”的人分別定義成兩個類,均繼承“人”這個類,顯然是不合理的。

以上內容摘自<>

1. IS-A, HAS-A兩種經典OO模式:

1.1 You can just use IS-A to figure out the relationship of Subclass and Superclass. If B is a A, that means class B extends class A. That‘s TRUE everywhere in the inheritance tree.

Example: Canine(犬科動物) is-A Animal, So Class Canine extends Animal; Wolf is-A Canine, So class wolf extends Canine; But note you can‘t change their position, Animal is-A Canine never happen, so class animal never extends Canine.

1.2 HAS-A, we can remember a case: Bathroom HAS-A Tub, Tub NEVER HAS-A Bathroom, that means class Bathroom has a instance variable(field) of class tub.

as we can see:

public class Bathroom()

{ private Tub tub;

Tub.flush(); }

public class Tub()

{ public void flush()

{ //more flush code here. } }

原文:https://www.cnblogs.com/asasooo998/p/11622644.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java is-a_java中 is - a和 has - a的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲三级黄色 | 91鲁| 激情毛片视频 | 天天射夜夜操 | 久久艹影院 | 成年人的毛片 | 久久精品波多野结衣 | 日韩欧美亚洲一区 | 无码一区二区 | 亚洲av无码潮喷在线观看 | 欧美成人一区在线 | 伊人久久一区二区 | 一级久久久| 包射屋| av天天色 | 少妇2做爰bd在线意大利堕落 | 涩涩视频在线观看免费 | 天天摸天天操天天爽 | 欧美一级片在线视频 | 播色网| av调教| 国产在线观看无码免费视频 | 欧美性生活 | 国产亚州av | 大陆明星乱淫(高h)小说 | 国产成人综合网 | 国产毛片毛片毛片毛片毛片 | 色天堂视频 | 青草一区 | 亚洲一级电影 | 免费看一区二区三区 | 欧美高清一区二区 | 男女无遮挡猛进猛出 | 成人区精品一区二区婷婷 | 亚洲一二三区av | 日韩欧美中文 | 国产视频精品自拍 | 用力插视频 | 97在线精品视频 | 成人精品视频一区 | 精品欧美一区二区久久久久 | 激情五月婷婷在线 | 欧美疯狂做受xxxxx高潮 | 丝袜美腿亚洲一区二区图片 | 无遮挡在线观看 | 亚洲精品入口 | 激情视频区 | 在线看www | 成人丁香婷婷 | 国产精品免费一区二区区 | 人与嘼交av免费 | 色综合天天综合 | 国产视频在线看 | 自拍第一区 | 欧美一级全黄 | 日本理伦片午夜理伦片 | 亚洲色图88| 老司机伊人| 欧洲成人免费视频 | 日韩欧美在线视频观看 | 午夜日韩在线观看 | 手机在线成人 | 精品视频99 | 高清中文字幕 | www性 | 住在隔壁的她动漫免费观看全集下载 | 激情福利视频 | 成年人免费看毛片 | 国产精品日韩专区 | 午夜视频h| 国产一区二区三区色淫影院 | 国产欧美视频在线 | 黄色一区二区三区四区 | 韩国三级bd高清中字2021 | 欧美日韩激情一区二区 | 天天综合网天天综合 | 美女视频在线免费观看 | www狠狠爱 | 亚洲午夜av在线 | 欧美女人交配视频 | 亚洲精品一二三 | 国产欧美成人 | 亚洲片国产一区一级在线观看 | 国产精品爽爽爽 | 中文字幕高清在线观看 | 亚洲精品aaaa | 午夜伦理影院 | 国产喷水福利在线视频 | www.波多野结衣.com | 欧美日韩人妻精品一区 | 精品一区二区三区视频在线观看 | 超碰五月| 国语av在线 | jzzijzzij亚洲成熟少妇18 欧美www在线观看 | 欧美脚交视频 | 欧美成年人在线视频 | 国产在线拍 | 可以免费看的av毛片 | 欧美精品动漫 |