Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson03.task01;
- /* TableAdapter
- Измените класс TableAdapter так, чтобы он адаптировал
- ATable к BTable.
- BTable будет использовать методы ATable
- Метод getHeaderText должен возвращать такую строку "[username] : tablename".
- Пример, "[Amigo] : DashboardTable"
- */
- public class Solution {
- public static void main(String[] args) {
- //это пример вывода
- ATable aTable = new ATable() {
- /*------Внутренний клас
- * с реализацией методов
- *заявленого интерфейса*/
- @Override
- public String getCurrentUserName() {
- return "Amigo";
- }
- @Override
- public String getTableName() {
- return "DashboardTable";
- }
- /*---------------------*/
- };
- /*Тут мы передаем в конструктор new TableAdapter ()
- * переменную aTable
- * следовательно в TableAdapter
- * !!!!должен быть
- * 1. конструктор c параметром ATable aTable
- * 2. переменная типа ATable
- * и TableAdapter имплементирует интерфейс BTable
- * --реализует его единственный метод
- * */
- BTable table = new TableAdapter(aTable);
- System.out.println(table.getHeaderText());
- }
- /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
- public static class TableAdapter implements BTable {
- private ATable aTable;//чтобы пользоватся методами ATable
- TableAdapter(ATable aTable) {/*конструктор
- объект типа BTable
- c реализацие TableAdapter()*/
- this.aTable = aTable;
- }
- public String getHeaderText() {
- return "["+aTable.getCurrentUserName()+"]" + " : "+ aTable.getTableName();
- }
- /*вызвали метод BTable, который вызывает методы ATable,
- * через aTable переменную*/
- }
- /*------------------------------------------------*/
- public interface ATable {
- String getCurrentUserName();
- String getTableName();
- }
- public interface BTable {
- String getHeaderText();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement