5.12成員函數(shù)的覆蓋
這個University的新的子類繼承了它的超類的成員函數(shù)samecity。但這個成員函數(shù)samecity判斷的是兩個城市的名字,這是不夠的,因為有可能兩個兩個名字一樣的城市屬于不同的國家,我們要用同時判斷城市和國家的成員函數(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=\"中國\";UniversityWorldu1=
newUniversityWorld(\"北?copy;大學\",\"北?copy;\",\"中國\");
UniversityWorldu2=newUniversityWorld(\"清華大學\",\"北?copy;\",\"
中國\");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;大學,北?copy;,中國u2=清華大學,北?copy;,中國city=上海,country=中國u1.samecity(u2)=trueu1.samecity(city,country)=false
5.13動態(tài)成員函數(shù)發(fā)送
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 | |
全國職稱計算機考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |