#22 Интерфейсы - объявление и применение | Java для начинающих

  Рет қаралды 7,086

selfedu

selfedu

3 жыл бұрын

Что такое интерфейсы (interface), зачем они нужны, как объявляются и применяются в классах и чем отличаются от абстрактных классов. Примеры реализации интерфейсов. Интерфейс как тип данных.
Инфо-сайт: proproprogs.ru

Пікірлер: 31
@sergei_voitenkov
@sergei_voitenkov 3 жыл бұрын
Красавчик! На одном дыхании!!! Одно из самых лучших объяснений!!!! Продолжай нас учить ))))!! Спасибо!!!
@user-xs5cb1dc6s
@user-xs5cb1dc6s 6 ай бұрын
Каждый урок - космос! Очень интересно и полезно. Спасибо
@user-wo8sd9pp7l
@user-wo8sd9pp7l Жыл бұрын
Супер- классно . Самое важное для новичка рассказал - потому-что у многих видео длинное суть то раскрывает а для чего это нужно - куда жать чтобы создать как создать в какой строке можно вставить или отдельным файлом не показывают . Ты раскрыл тут все эти очень очень нужные мелочи казалось бы - для новичка. самое главное не путаешь терминами попутно их объясняя на человеческом языке что реализовать интерфейс значит то то ..Спасибо большое.
@anjelomanoranjan3908
@anjelomanoranjan3908 6 ай бұрын
Спасибо! Жду новых видео по Java
@FerrasRX
@FerrasRX 3 жыл бұрын
Как всегда супер, спасибо!
@user-ds1wm7eq1p
@user-ds1wm7eq1p 2 жыл бұрын
Супер! Спасибо большое. Самое толковое и понятное видео. 👍👍👍
@user-uj3ww3fi7g
@user-uj3ww3fi7g Жыл бұрын
Боже мой что там понятного,остановите землю я сойду…
@rostislavmalyshev1775
@rostislavmalyshev1775 3 жыл бұрын
Спасибо за урок.
@user-bw5jo9bj4k
@user-bw5jo9bj4k 2 жыл бұрын
Спасибо большое, сразу стало понятно)
@user-gn8bs5de5y
@user-gn8bs5de5y 2 жыл бұрын
Спасибо за видео, все понятно)))
@andreybursov2857
@andreybursov2857 3 жыл бұрын
Спасибо за ваш труд. Сделайте пожалуйста видео про Enum. Как им можно эффективно пользоваться?
@selfedu_rus
@selfedu_rus 3 жыл бұрын
Скоро будет )
@andreychernykh256
@andreychernykh256 3 жыл бұрын
Спасибо
@dens7117
@dens7117 2 жыл бұрын
всё супер объяснено, но перед именем интерфейса по правилам хорошего тона принято писать "I"
@beuef1379
@beuef1379 3 жыл бұрын
Лайк и атлична!!!
@kasdo6649
@kasdo6649 4 ай бұрын
В чем смысл интерфейсов кроме как приведения объекта дочернего класса к объекту родительского класса? (upcasting)
@user-vu7hz8hg1u
@user-vu7hz8hg1u 3 жыл бұрын
Like👍
@user-gn8bs5de5y
@user-gn8bs5de5y 2 жыл бұрын
Хотя появился вопросик, когда класс реализуешь метод интерфейса, получается не надо прописывать @Override? И при наследовании от абстрактных классов я не заметил, чтобы ты прописывал это
@selfedu_rus
@selfedu_rus 2 жыл бұрын
для абстрактных (виртуальных) не нужно
@giorgipetrosyan633
@giorgipetrosyan633 3 жыл бұрын
в начале было куча вопросов, в конце остался один, за что автору 100+. :) а вопрос/замечание следушее MathGeom g[] = new MathGeom[5]; ОК. т.е можно создать масив интерфеисов MathGeom g= new MathGeom(); ЕRROR. т.е нельзя создать один интерфеис (стандартным человеческим способом) MathGeom g[] = new MathGeom[1]; ОК. т.е создал 1 интерфеис (через одно место) может есть какои-то другои способ :)
@selfedu_rus
@selfedu_rus 3 жыл бұрын
Спасибо! Экземпляр интерфейса создавать действительно нельзя, вот эта команда MathGeom g[] = new MathGeom[1] она создает ссылку интерфейсного типа, а не сам интерфейс. Это эквивалентно, например, следующему: MathGeom g = new Ellipse() (при условии, что Ellipse использует этот интерфейс).
@georgepetrosyan4589
@georgepetrosyan4589 3 жыл бұрын
@@selfedu_rus да конечно,я имел ввиду сылку. Спасибо. хотя я понимаю что единственный экземпляр бессмысленно так создавать. Просто подумал что может есть сахар в этом вопросе
@BookwormYevgen
@BookwormYevgen 3 жыл бұрын
Банальнейший затасканный пример, на котором вообще не видно необходимости/преимущества/силы использования интерфейсов.
@aurorascientist9562
@aurorascientist9562 2 жыл бұрын
предложите другой ?
@user-mq1ll8df6b
@user-mq1ll8df6b Жыл бұрын
некорректное задание - нужно реализовать интерфейс для работы с бд сотрудников, а от него унаследовать сотрудников(руководителей и рабочих) и клиентов. каким боком тут клиенты вообще? они же не сотрудники? или я чет не так понял?
@user-gc4nx8tm2u
@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
@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
@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); } }
@user-ec2ee8so8u
@user-ec2ee8so8u 3 жыл бұрын
Спасибо за урок.
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 192 МЛН
¡Puaj! No comas piruleta sucia, usa un gadget 😱 #herramienta
00:30
JOON Spanish
Рет қаралды 22 МЛН
Java интерфейсы / Java для начинающих / Уроки Java
12:31
Java SE. Урок 13. Циклы for и for each
11:49
Follow the white rabbit
Рет қаралды 34 М.
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 192 МЛН