Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Java для чайников. arrow Java для чайников. Урок 4. Понятие интерфейса.
31.10.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Java для чайников. Урок 4. Понятие интерфейса. Печать E-mail
Автор megabax   
09.09.2011 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

Java для чайников. Урок 4. Понятие интерфейса.

На уроке 2 вы поднакопились с таким понятием, как переменная.  На самом же деле в переменных можно хранить не только числа и строки, но так же и экземпляры объектов. Допустим, мы хотим написать программу для автоматизации предприятия торговли. И в этой программе хотим написать какой то алгоритм анализа товаров, для чего для каждого вида товаров определяем свой класс, который будет содержать свои специфические для данной товарной группы алгоритмы анализа. В данный момент мы, конечно, не будем писать эту программу, а представим, что пишем ее, что бы просто изучить понятие интерфейса и как оно поможет нам в будущим. Допустим, мы создали заготовки классов для таких видов товаров, как "обувь" и "хлеб", и написали тестовый пример:

 

class Shoe {

    public String getName(int id) {

        if(id==1) return("Shoes");

        if(id==2) return("Girl's shoes");

        if(id==3) return("Boots");

        return ("Unknow");

    }

}

 

class Bread {

    public String getName(int id) {

        if(id==1) return("White");

        if(id==2) return("Black");

        if(id==3) return("Loaf");

        return ("Unknow");

    }

}

 

public class Wares {

    public static void main(String[] args) {

        Shoe a;

        a=new Shoe();

        System.out.println(a.getName(1));

        System.out.println(a.getName(2));

        System.out.println(a.getName(3));

        System.out.println(a.getName(4));

        Bread b;

        b=new Bread();

        System.out.println(b.getName(1));

        System.out.println(b.getName(2));

        System.out.println(b.getName(3));

    }

}

 

Компилируем его, как мы это уже умеем на уроке 1 и запускаем:

 

 

А теперь посмотрите на код внимательней. Видите, для каждого класса (вида товара) мы создали свою переменную. А если мы на момент создание переменой еще не знаем, экземпляр какого класса мы будем хранить в ней? Мы же не можем присвоить переменной тип Shoe значение Bread! Но выход есть. Надо использовать интерфейс. Иными словами, создаем некоторое подобие класса, которое по сути дела полноценным классом не является. Это и есть интерфейс. Мы не может создать экземпляр интерфейса, но можем определить переменную типа интерфейс. И в этой переменной мы сможем хранить экземпляры любых классов, которые наследую данный интерфейс. Собственно говоря, интерфейс отличается от класса тем, что в нем можно объявить методы, но нельзя реализовать их. Они уже реализуются в наследуемых классах. Давайте посмотрим на примере, как это делается:

 

interface Ware {

    static final String origin="My corp";

    public String getName(int id);

}

 

class Shoe implements Ware {

    public String getName(int id) {

        if(id==1) return("Shoes");

        if(id==2) return("Girl's shoes");

        if(id==3) return("Boots");

        return ("Unknow");

    }

}

 

class Bread implements Ware {

    public String getName(int id) {

        if(id==1) return("White");

        if(id==2) return("Black");

        if(id==3) return("Loaf");

        return ("Unknow");

    }

}

 

public class Proba {

    public static void main(String[] args) {

        Ware a;

        a=new Shoe();

        System.out.println(a.getName(1));

        System.out.println(a.getName(2));

        System.out.println(a.getName(3));

        System.out.println(a.getName(4));

        a=new Bread();

        System.out.println(a.getName(1));

        System.out.println(a.getName(2));

        System.out.println(a.getName(3));

    }

}

 

Как видим, благодаря интерфейсу, мы можем использовать оду и ту же переменную для хранения разных классов. Откомпилируем пример и убедимся, что он работает, делает то же самое, что и предыдущий:

 

 

(С) Шуравин Александр

 

 

Последнее обновление ( 09.09.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги