Advertisement
jaVer404

level19.lesson03.task01 (done)

Feb 16th, 2016
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.46 KB | None | 0 0
  1. package com.javarush.test.level19.lesson03.task01;
  2.  
  3. /* TableAdapter
  4. Измените класс TableAdapter так, чтобы он адаптировал
  5.  
  6. ATable к BTable.
  7. BTable будет использовать методы ATable
  8.  
  9. Метод getHeaderText должен возвращать такую строку "[username] : tablename".
  10. Пример, "[Amigo] : DashboardTable"
  11. */
  12.  
  13. public class Solution {
  14.     public static void main(String[] args) {
  15.         //это пример вывода
  16.         ATable aTable = new ATable() {
  17.             /*------Внутренний клас
  18.             * с реализацией методов
  19.             *заявленого интерфейса*/
  20.             @Override
  21.             public String getCurrentUserName() {
  22.                 return "Amigo";
  23.             }
  24.  
  25.             @Override
  26.             public String getTableName() {
  27.                 return "DashboardTable";
  28.             }
  29.             /*---------------------*/
  30.         };
  31. /*Тут мы передаем в конструктор new TableAdapter ()
  32. * переменную aTable
  33. * следовательно в TableAdapter
  34. * !!!!должен быть
  35. * 1. конструктор c параметром ATable aTable
  36. * 2. переменная типа ATable
  37. * и TableAdapter имплементирует интерфейс BTable
  38. * --реализует его единственный метод
  39. * */
  40.         BTable table = new TableAdapter(aTable);
  41.         System.out.println(table.getHeaderText());
  42.     }
  43. /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
  44.     public static class TableAdapter implements BTable {
  45.     private ATable aTable;//чтобы пользоватся методами ATable
  46.     TableAdapter(ATable aTable) {/*конструктор
  47.                                    объект типа BTable
  48.                                    c реализацие TableAdapter()*/
  49.         this.aTable = aTable;
  50.     }
  51.     public String getHeaderText() {
  52.         return "["+aTable.getCurrentUserName()+"]" + " : "+ aTable.getTableName();
  53.     }
  54.     /*вызвали метод BTable, который вызывает методы ATable,
  55.     * через aTable переменную*/
  56.     }
  57. /*------------------------------------------------*/
  58.  
  59.     public interface ATable {
  60.         String getCurrentUserName();
  61.         String getTableName();
  62.     }
  63.  
  64.     public interface BTable {
  65.         String getHeaderText();
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement