Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (6)
  • Как красиво решить это с помощью ООП?

    @andfadeev
    www.startupfellows.ru - поиск людей в стартапы
    Код на джаве, но суть ООП одна и та же. Материал это интерфейс, конкретный материал - его реализация. В методы первого класса подаем интерфейс, дальше работает полиморфизм.

    class A {
    	void save(Material m) {
    		m.save();
    	}
    	void delete(Material m) {
    		m.delete();
    	}
    }
    
    
    interface Material {
    	void save();
    	void delete();
    }
    
    class MaterialNumberOne  implements Material  {
    	void save() {
    		//делаем что нужно для первого материала
    	}
    	void delete() {
    		//делаем что нужно для первого материала
    	}
    }
    
    class MaterialNumberTwo  implements Material  {
    	void save() {
    		//делаем что нужно для второго материала
    	}
    	void delete() {
    		//делаем что нужно для второго материала
    	}
    }
    
    
    // юзаем так
    public static void main(String[] args) {
    	Material m1 = new MaterialNumberOne();
    	Material m2 = new MaterialNumberTwo();
    
    	A a = new A();
    	a.save(m1);
    	a.delete(m1);
    	a.save(m2);
    	a.delete(m2);
    }
    Ответ написан
    1 комментарий
  • Где стартапу искать программиста?

    @andfadeev
    www.startupfellows.ru - поиск людей в стартапы
    пишу и развиваю проект - www.startupfellows.ru
    Ответ написан
    Комментировать