реклама на сайте
подробности

 
 
> Разложение на классы
hadrov
сообщение Dec 3 2008, 18:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 11-11-08
Пользователь №: 41 540



Начинаю изучать ООП и пробую представить нижеследующую таблицу в виде классов/класса.


Например:
Код
const int N = 3;

// описание одной ячейки
class Cell
{
protected:
    int value;    
};

// описание группы из максимумов и минимумов
class Group
{
protected:
    Cell max[N];
    Cell min[N];
};

// описание строки
class Row
{
protected:
    float y[N];
    Group group;
};

// описание таблицы
class Table
{
protected:
    Row rows[N];
};


Для упрощения описал только поля данных. Вопрос состоит в следующем: когда в конкретном случае нужно остановится при разложении классов? ИМХО, уж слишком громоздко вышло. Возможно, класс Group стоит исключить и описывать Cell max[N] и Cell min[N] сразу в классе Row.

А может, вообще, не морочить голову и просто описать вместо классов структуры и запихать их в класс Table. Вот только правильно ли это будет с точки зрения ООП?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rvk
сообщение Dec 4 2008, 19:30
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 165
Регистрация: 13-05-06
Из: Камышин
Пользователь №: 17 067



Он имеет ввиду, что все участники вложений являются наследниками одного базового класса.
Хотя я считал что ООП это не то как именно вкладываются классы,
а что главной целью является обьект, экземпляр какого то класса.
Неважно наследуемый он там или нет. И вот доступ к ресурсам обьекта, т.е. данным и функциям идет через экземпляр.
Есть класс TClass, есть обьект tObject экземпляр класса TClass.
И до сих пор я полагал, что возможность вызывать функции и массивы из экземпляра tObject.func(), или tObject.array[]
И есть суть ООП, т.е. обьектно ориентированного программирования
или говоря по русски, программирования которое нацелено на обьект.
А наследование, на мой взгляд не является определяющим фактом ООП. Может я чото не так понял?

Да, а по вопросу насколько глубоко вкладывать друг в дружку классы, наверное ограничений нет.
Но и делать 20 вложений без особых оснований тоже не имеет смысла, потому что самому потом
труднее будет разобраться, откуда ноги растут...

Сообщение отредактировал rvk - Dec 4 2008, 19:34
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 05:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016