четверг, 29 января 2015 г.

Override and Overload / abstract

Override- Это например у нас есть суперкласс и два подкласса которые его экстенд.
например в суперклассе написано след.
public class food {
void eat(){
System.out.println("This food is great");
}
а в подклассах, которые его экстенд тоже самое но с измененным текстом
public class potpie extends food{
void eat(){
System.out.println("This potpie is great");
}
карочи
представим что у нас есть комп игра, в которой есть босс и есть прихвостни.
Вот суперкласс- это босс, а прихвостни это подклассы которые экстенд этот суперкласс
то есть в боссе будут такие плюшки как рост, сила, количество хп и тд
мы наследуем все это в прихвостнях, Но с некоторыми изменениями. Например нам нужно будет сделать им гораздо меньше хп- вот в подклассы мы экстенд суперкласс- и унаследуем все, что есть у босса, НО С изменениями в ХП- просто перезапишем. НО! перезаписываемый метод не должен менять своей сути, то есть если у нас метод с интегралами в суперклассе, он должен быть с интегралами и в подклассе. если нет аргументов у метода в суперклассе, значит не должно их быть и в подклассе. это важно!

Overloading- это метод с таким же именем, но с другими аргументами.
например вот тут
public class potpie extends food{
void eat(int x){ вот тут мы можем добавить другие аргументы, но тогда это будет абсолютно другой метод

ABSTRACT CLASS- means is that you can not create an object from that class, but you can use that class for things like inheritance , polimorphism , and stuff like that .example is FOOD class- its general, but nothing specific, and you dont want anybody to change that.





Комментариев нет:

Отправить комментарий