1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
|
|
1 | |
Можно ли представить класс как функцию или процедуру10.02.2014, 14:36. Показов 1096. Ответов 14
Метки нет Все метки)
(
Кто может разжевать, а точнее указать где их применять, по книгами не совсем понятно(Шилтд, Фленов)
Можно ли представить класс как функцию или процедуру(если проводить аналогию Delphi). Вот хочу сейчас вот эту задачу решить с помощью класса, правильно ли это? Извините за нубские вопросы и заранее спасибо за ваши ответы!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
10.02.2014, 14:36 | |
Ответы с готовыми решениями:
14
Создать класс, в котором можно сохранить любой вызываемый объект или функцию
Как исправить ошибку? Сделать через Функцию или Процедуру |
![]() |
|
10.02.2014, 14:49 | 2 |
Сам не особо спец, но попробую...
Класс - это набор из методов, свойств, переменных. Законченное целое. Но пока из класса не создан объект этого класса, он ничего не может. Создавая экземпляр класса, Вы получаете уже объект, и можете пользоваться всеми возможностями, что в нем заложены разработчиком. Метод - ну это совсем просто, любая процедура, выполняющая свою задачу. С Делфи сравнивать не могу, поскольку его не знаю...
0
|
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
|
|
10.02.2014, 14:59 [ТС] | 3 |
а вот для каких задач лучше использовать класс, а для каких не нужно.
0
|
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
|
|
10.02.2014, 14:59 | 4 |
Здесь, пожалуй, можно обойтись и функцией, не оборачивая ее в отдельный класс (так или иначе она окажется в классе программы, формы, etc).
Статические классы забыли.
0
|
![]() |
|
10.02.2014, 15:04 | 5 |
Не забыл.
![]() Классический пример - класс Math, из статического класса создать объект нельзя, но можно пользоваться всеми его открытыми методами, обращаться через имя класса с точкой. Добавлено через 2 минуты Класс - ну думаю, использовать для какой-то одной задачи, выполнение которой требует нескольких методов, свойств, переменных... Инкапсулировать все в классе, и потом работать через открытые методы, получать значения через открытые свойства, подписываться на события, происходящие при вызове методов класса...
0
|
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
|
|
10.02.2014, 15:05 [ТС] | 6 |
Теперь стало еще непонятней, добавились функции и статические классы.
0
|
![]() |
||||||
10.02.2014, 15:14 | 7 | |||||
Вот самый простой пример...
![]()
1
|
10.02.2014, 15:42 | 8 |
![]() Решение
Класс - сущность (описание сущности), некий объект. По аналогии все существительные можно представить классами. (Объясню на примере класса "Книга")
Класс описывается при помощи членов http://msdn.microsoft.com/ru-r... 73113.aspx Для начала тебе нужно знать: поля - это переменные скрытые в классе (для книги - год издания, количество страниц, размеры, тип обложки и т.д.) свойства - это параметры характеризующие сущность предоставляемые пользователю (для книги - год издания, количество страниц, размеры, тип обложки и т.д.) Как видно в данном примере Свойства дублируют Поля, но при этом могут быть Поля не представленные Свойствами, они нужны для обеспечения работы класса, а пользователю о них знать не нужно. Могут быть Свойства, которые не отражают поля, а предоставляют данные на основе каких либо вычислений к примеру. методы - это действия (т.е всегда должны быть глаголами), которые может выполнить сущность, или которые могут быть выполнены с сущностью (для книги - открыть на нужной странице, закрыть, найти текст и т.п.) Обычные (не статические) классы позволяют создавать экземпляры. Т.е. для класса "Книга" каждая книга является её экземпляром. Статическими классами как правило описывают сущности обобщённого характера (часто не имеющие материального воплощения). Как показали пример класс Math - "математика". Математика она или есть, или нет. Не бывает двух экземпляров математики Добавлено через 4 минуты по сути получается всё что отвечает на вопросы кто? что? - класс как я могу это охарактеризовать(описать)? - свойства что это делает? что я могу с этим сделать? - методы
1
|
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
|
|
10.02.2014, 16:21 [ТС] | 9 |
Вроде ясно, попробую реализовать.
Автомобиль это класс, а Москвич Жигуль Запоорожец - это объекты класса.
0
|
![]() |
|
10.02.2014, 16:49 | 10 |
Нет, тут лучше подойдет наследование. Автомобиль-базовый класс, имеющий все общее, что есть у автомобилей (колеса, кузов и т.п.).
А вот класс Запорожец - это дочерний класс. Запорожцы же могут быть разных моделей, года выпуска, цвета... И остальные так же. Запорожец наследует от Автомобиля все, что у него есть, но имеет и свои, специфичные черты, которые, к примеру, Жигуль не имеет... И сам Жигуль так же - имеет все, что имеет автомобиль плюс что-то свое... А уже потом из класса Жигуль создаем Жигуль Красного, к примеру, цвета, такого-то года выпуска и такой-то модели... Потом еще один, другой модели, и так далее. Как-то так. ![]()
0
|
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
|
|
10.02.2014, 16:56 [ТС] | 11 |
Спасибо всем за ответы, вроде понятно, тему буду держать в закладках)
0
|
![]() |
||||||
10.02.2014, 17:12 | 12 | |||||
![]() Решение
Вот простой пример. Как видите объект, созданный из класса Жигуль, имеет не только те свойства, что мы ему присвоили, но и те, которые он унаследовал от класса Автомобиль. В нем самом их нет, но он их имеет.
Это, естественно, сильно упрощено, но думаю понятен смысл.
1
|
11.02.2014, 09:47 | 13 |
insite2012, как мне кажется, пример Автомобиль-Жигуль не совсем удачен. Жигуль - это марка, для её описания достаточно одного свойства в составе класса Автомобиль. Точно как свойства Цвет и Год выпуска, они присущи любому автомобилю. Правильнее из класса автомобиль унаследовать классы Легковой автомобиль, Грузовой автомобиль, Автобус....
1
|
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
|
|
11.02.2014, 14:24 [ТС] | 15 |
Если обобщать то и мой пример был верным
![]()
0
|
11.02.2014, 14:24 | |
Помогаю со студенческими работами здесь
15
Используя очередь или стек описать процедуру или функцию обработки узлов дерева.
Как используя очередь, написать процедуру или функцию, которая заменяет все отрицательные элементы файла на их абсолютные значения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |