sentence: covariant method return type in a language which allows covariant return types , a derived class can override the method to return a more specific type : class catshelter extends animalshelter -lcb- cat getanimalforadoption ( ) -lcb- return new cat ( ) ; -rcb- -rcb- among mainstream oo languages , java and c++ support covariant return types , while c# does not .