5.12成員函數(shù)的覆蓋
這個(gè)University的新的子類繼承了它的超類的成員函數(shù)samecity。但這個(gè)成員函數(shù)samecity判斷的是兩個(gè)城市的名字,這是不夠的,因?yàn)橛锌赡軆蓚(gè)兩個(gè)名字一樣的城市屬于不同的國(guó)家,我們要用同時(shí)判斷城市和國(guó)家的成員函數(shù)來(lái)覆蓋它。下面就是實(shí)現(xiàn)覆蓋的例子。
classUniversity{Stringname,city;University(Stringname,Stringcity)
{this.name=name;this.city=city;}booleansamecity(Stringcity){if
(city.equals(this.city))returntrue;elsereturnfalse;}boolean
samecity(Universityu){returnsamecity(u.city);}}
classUniversityWorldextendsUniversity{Stringcountry;
UniversityWorld(Stringname,Stringcity,Stringcountry){super(name,
city);this.country=country;}booleansamecity(Stringcity,String
country){if(city.equals(u.city)&&country.equals(u.country))return
true;elsereturnfalse;}booleansamecity(UniversityWorldother)
{returndistance(other.city,other.country);}}
classUniversityWorldCity{publicstaticvoidmain(Stringargs[])
{Stringcity=\"上海\";Stringcountry=\"中國(guó)\";UniversityWorldu1=
newUniversityWorld(\"北?copy;大學(xué)\",\"北?copy;\",\"中國(guó)\");
UniversityWorldu2=newUniversityWorld(\"清華大學(xué)\",\"北?copy;\",\"
中國(guó)\");System.out.println(\"u1=\"+u1.name+\",\"+u1.city+\",\"+
u1.country);System.out.println(\"u2=\"+u2.name+\",\"+u2.city+\",
\"+u2.country);System.out.println(\"city=\"+city+\",country=\"+
country);System.out.println(\"u1.samecity(u2)=\"+u1.samecity(u2));
System.out.println(\"u1.samecity(city,country)=\"+u1.samecity(city,
country));}}
下面是輸出結(jié)果。
C:\\>javaUniversityWorldCityu1=北?copy;大學(xué),北?copy;,中國(guó)u2=清華大學(xué),北?copy;,中國(guó)city=上海,country=中國(guó)u1.samecity(u2)=trueu1.samecity(city,country)=false
5.13動(dòng)態(tài)成員函數(shù)發(fā)送
2015年全國(guó)職稱計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 | |
全國(guó)職稱計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書(shū)籍 |