Что такое интерфейсы (interface), зачем они нужны, как объявляются и применяются в классах и чем отличаются от абстрактных классов. Примеры реализации интерфейсов. Интерфейс как тип данных. Инфо-сайт: proproprogs.ru
Пікірлер: 31
@sergei_voitenkov3 жыл бұрын
Красавчик! На одном дыхании!!! Одно из самых лучших объяснений!!!! Продолжай нас учить ))))!! Спасибо!!!
@user-xs5cb1dc6s6 ай бұрын
Каждый урок - космос! Очень интересно и полезно. Спасибо
@user-wo8sd9pp7l Жыл бұрын
Супер- классно . Самое важное для новичка рассказал - потому-что у многих видео длинное суть то раскрывает а для чего это нужно - куда жать чтобы создать как создать в какой строке можно вставить или отдельным файлом не показывают . Ты раскрыл тут все эти очень очень нужные мелочи казалось бы - для новичка. самое главное не путаешь терминами попутно их объясняя на человеческом языке что реализовать интерфейс значит то то ..Спасибо большое.
@anjelomanoranjan39086 ай бұрын
Спасибо! Жду новых видео по Java
@FerrasRX3 жыл бұрын
Как всегда супер, спасибо!
@user-ds1wm7eq1p2 жыл бұрын
Супер! Спасибо большое. Самое толковое и понятное видео. 👍👍👍
@user-uj3ww3fi7g Жыл бұрын
Боже мой что там понятного,остановите землю я сойду…
@rostislavmalyshev17753 жыл бұрын
Спасибо за урок.
@user-bw5jo9bj4k2 жыл бұрын
Спасибо большое, сразу стало понятно)
@user-gn8bs5de5y2 жыл бұрын
Спасибо за видео, все понятно)))
@andreybursov28573 жыл бұрын
Спасибо за ваш труд. Сделайте пожалуйста видео про Enum. Как им можно эффективно пользоваться?
@selfedu_rus3 жыл бұрын
Скоро будет )
@andreychernykh2563 жыл бұрын
Спасибо
@dens71172 жыл бұрын
всё супер объяснено, но перед именем интерфейса по правилам хорошего тона принято писать "I"
@beuef13793 жыл бұрын
Лайк и атлична!!!
@kasdo66494 ай бұрын
В чем смысл интерфейсов кроме как приведения объекта дочернего класса к объекту родительского класса? (upcasting)
@user-vu7hz8hg1u3 жыл бұрын
Like👍
@user-gn8bs5de5y2 жыл бұрын
Хотя появился вопросик, когда класс реализуешь метод интерфейса, получается не надо прописывать @Override? И при наследовании от абстрактных классов я не заметил, чтобы ты прописывал это
@selfedu_rus2 жыл бұрын
для абстрактных (виртуальных) не нужно
@giorgipetrosyan6333 жыл бұрын
в начале было куча вопросов, в конце остался один, за что автору 100+. :) а вопрос/замечание следушее MathGeom g[] = new MathGeom[5]; ОК. т.е можно создать масив интерфеисов MathGeom g= new MathGeom(); ЕRROR. т.е нельзя создать один интерфеис (стандартным человеческим способом) MathGeom g[] = new MathGeom[1]; ОК. т.е создал 1 интерфеис (через одно место) может есть какои-то другои способ :)
@selfedu_rus3 жыл бұрын
Спасибо! Экземпляр интерфейса создавать действительно нельзя, вот эта команда MathGeom g[] = new MathGeom[1] она создает ссылку интерфейсного типа, а не сам интерфейс. Это эквивалентно, например, следующему: MathGeom g = new Ellipse() (при условии, что Ellipse использует этот интерфейс).
@georgepetrosyan45893 жыл бұрын
@@selfedu_rus да конечно,я имел ввиду сылку. Спасибо. хотя я понимаю что единственный экземпляр бессмысленно так создавать. Просто подумал что может есть сахар в этом вопросе
@BookwormYevgen3 жыл бұрын
Банальнейший затасканный пример, на котором вообще не видно необходимости/преимущества/силы использования интерфейсов.
@aurorascientist95622 жыл бұрын
предложите другой ?
@user-mq1ll8df6b Жыл бұрын
некорректное задание - нужно реализовать интерфейс для работы с бд сотрудников, а от него унаследовать сотрудников(руководителей и рабочих) и клиентов. каким боком тут клиенты вообще? они же не сотрудники? или я чет не так понял?
@user-gc4nx8tm2u Жыл бұрын
задачи решены, в мейне PersonInterface [] p = new PersonInterface[3]; p[0] = new Clients("Borisov BN", "Manager", "Stavroolskay st",10052000,7,772421096); p[1] = new Supervisers("Nanain MZ","Saler","Lenin st",10111984,1,234782); p[2] = new Jobs("Cosmos DF","Worker","Abulhair st",10101977,5,234373); p[0].getFIO(); p[1].getInfo(); p[2].getStatus();
@user-gc4nx8tm2u Жыл бұрын
классы: interface PersonInterface{ void getInfo(); void getStatus(); void getFIO(); } class Supervisers implements PersonInterface { String FIO, position, homeAddress; int years, department, phonenumber; public Supervisers(String FIO, String position, String homeAddress, int years, int department, int phonenumber) { this.FIO = FIO; this.position = position; this.homeAddress = homeAddress; this.years = years; this.department = department; this.phonenumber = phonenumber; } public void getInfo(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("Проживает по адресу: "+ homeAddress + " День рожения: "+years); System.out.println("контактный номер " + phonenumber); } public void getStatus(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("контактный номер " + phonenumber); } public void getFIO(){ System.out.println("FIO is: "+FIO); } } class Jobs extends Supervisers implements PersonInterface { public Jobs(String FIO, String position, String homeAddress, int years, int department, int phonenumber) { super(FIO, position, homeAddress, years, department, phonenumber); } public void getInfo(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("Проживает по адресу: "+ homeAddress + " День рожения: "+years); System.out.println("контактный номер " + phonenumber); } public void getStatus(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("контактный номер " + phonenumber); } public void getFIO(){ System.out.println("FIO is: "+FIO); } } class Clients extends Supervisers implements PersonInterface { public Clients(String FIO, String position, String homeAddress, int years, int department, int phonenumber) { super(FIO, position, homeAddress, years, department, phonenumber); } public void getInfo(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("Проживает по адресу: "+ homeAddress + " День рожения: "+years); System.out.println("контактный номер " + phonenumber); } public void getStatus(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("контактный номер " + phonenumber); } public void getFIO(){ System.out.println("FIO is: "+FIO); } }
@user-gc4nx8tm2u Жыл бұрын
2я задача мейн PersonInterface [] p = new PersonInterface[3]; p[0] = new Clients("Borisov BN", "Manager", 10551977,10052); p[1] = new Supervisers("Nanain MZ","Saler","Lenin st",10111984,1,234782); p[2] = new Jobs("Cosmos DF","Worker","Abulhair st",10101977,5,234373); p[0].getFIO(); p[1].getInfo(); p[2].getStatus(); p[0].showStaff(); классы: interface PersonInterface{ void getInfo(); void getStatus(); void getFIO(); void showStaff(); } class Persons { String FIO, position, homeAddress; int years, department, phonenumber; static int count = 0, count_clients = 0; Persons(String FIO, String homeAddress, int years, int phonenumber){} public Persons(String FIO, String position, String homeAddress, int years, int department, int phonenumber) { this.FIO = FIO; this.position = position; this.homeAddress = homeAddress; this.years = years; this.department = department; this.phonenumber = phonenumber; } } class Supervisers extends Persons implements PersonInterface { public Supervisers(String FIO, String position, String homeAddress, int years, int department, int phonenumber) { super(FIO, position, homeAddress, years, department, phonenumber); count++; } public void getInfo(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("Проживает по адресу: "+ homeAddress + " День рожения: "+years); System.out.println("контактный номер " + phonenumber); } public void getStatus(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("контактный номер " + phonenumber); } public void getFIO(){ System.out.println("FIO is: "+FIO); } public void showStaff(){ System.out.println("Total employee: " + count); System.out.println("Total clients: " + count_clients); } } class Jobs extends Persons implements PersonInterface { public Jobs(String FIO, String position, String homeAddress, int years, int department, int phonenumber) { super(FIO, position, homeAddress, years, department, phonenumber); count++; } public void getInfo(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("Проживает по адресу: "+ homeAddress + " День рожения: "+years); System.out.println("контактный номер " + phonenumber); } public void getStatus(){ System.out.println(FIO + " на позиции "+position+ " работает в департаменте "+department); System.out.println("контактный номер " + phonenumber); } public void getFIO(){ System.out.println("FIO is: "+FIO); } public void showStaff(){ System.out.println("Total employee: " + count); System.out.println("Total clients: " + count_clients); } } class Clients extends Persons implements PersonInterface { public Clients(String FIO, String homeAddress, int years, int phonenumber) { super(FIO, homeAddress, years, phonenumber); count_clients++; } public void getInfo(){ System.out.println(FIO); System.out.println("Проживает по адресу: "+ homeAddress + " День рожения: "+years); System.out.println("контактный номер " + phonenumber); } public void getStatus(){ System.out.println(FIO); System.out.println("контактный номер " + phonenumber); } public void getFIO(){ System.out.println("FIO is: "+FIO); } public void showStaff(){ System.out.println("Total employee: " + count); System.out.println("Total clients: " + count_clients); } }