Что такое интерфейсы (interface), зачем они нужны, как объявляются и применяются в классах и чем отличаются от абстрактных классов. Примеры реализации интерфейсов. Интерфейс как тип данных. Инфо-сайт: proproprogs.ru
Супер- классно . Самое важное для новичка рассказал - потому-что у многих видео длинное суть то раскрывает а для чего это нужно - куда жать чтобы создать как создать в какой строке можно вставить или отдельным файлом не показывают . Ты раскрыл тут все эти очень очень нужные мелочи казалось бы - для новичка. самое главное не путаешь терминами попутно их объясняя на человеческом языке что реализовать интерфейс значит то то ..Спасибо большое.
в начале было куча вопросов, в конце остался один, за что автору 100+. :) а вопрос/замечание следушее MathGeom g[] = new MathGeom[5]; ОК. т.е можно создать масив интерфеисов MathGeom g= new MathGeom(); ЕRROR. т.е нельзя создать один интерфеис (стандартным человеческим способом) MathGeom g[] = new MathGeom[1]; ОК. т.е создал 1 интерфеис (через одно место) может есть какои-то другои способ :)
Спасибо! Экземпляр интерфейса создавать действительно нельзя, вот эта команда MathGeom g[] = new MathGeom[1] она создает ссылку интерфейсного типа, а не сам интерфейс. Это эквивалентно, например, следующему: MathGeom g = new Ellipse() (при условии, что Ellipse использует этот интерфейс).
@@selfedu_rus да конечно,я имел ввиду сылку. Спасибо. хотя я понимаю что единственный экземпляр бессмысленно так создавать. Просто подумал что может есть сахар в этом вопросе
Хотя появился вопросик, когда класс реализуешь метод интерфейса, получается не надо прописывать @Override? И при наследовании от абстрактных классов я не заметил, чтобы ты прописывал это
некорректное задание - нужно реализовать интерфейс для работы с бд сотрудников, а от него унаследовать сотрудников(руководителей и рабочих) и клиентов. каким боком тут клиенты вообще? они же не сотрудники? или я чет не так понял?
задачи решены, в мейне 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();
классы: 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); } }
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); } }