Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 17, 2010 14:56:49

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

классы и методы

helm2004
представь что класс - это куб.
Куб не может быть классом. Может быть объект класса куб. Класс, это лишь описание свойств объекта.

P.S. Это верно, если не знать про метаклассы: там описание куба может быть записанно хоть на листе Мёбиуса…



Офлайн

#2 Ноя. 17, 2010 15:13:12

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

классы и методы

ZZZ
Куб не может быть классом. Может быть объект класса куб. Класс, это лишь описание свойств объекта.
Класс - это чертеж куба с описанием материалов из которых этот куб будет сделан. :) Плюс описание всех действий, которые можно будет сделать с этим кубом(кинуть, ударить молотком и тд). Этакое техническое задание на игрушку “Куб”. А сам куб - экземпляр класса.



Отредактировано (Ноя. 17, 2010 15:15:20)

Офлайн

#3 Ноя. 17, 2010 15:14:24

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

классы и методы

всем спс =) пишем еще …



Офлайн

#4 Ноя. 17, 2010 16:26:28

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

классы и методы

Мой пример, конечно, нельзя назвать не только не идеальным но и нормальным тоже. Просто я дал такой пример чтобы человек разобрался что у программистов тоже есть фантазия:) .Своя, ООПешная.

Отредактировано (Ноя. 17, 2010 16:27:01)

Офлайн

#5 Ноя. 17, 2010 19:03:00

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

классы и методы

Например:
класс “Человек” - артибутами для этого класа будут являтся ФИО, возразст, пол
подкласс “студент” - атрибуты: курс, факультут

все что относится к человеку так же относится к студенту. у студента будет атрибуты : ФИО, возразст, пол, курс, факультут

а методами для этик классов что будет являтся? как я понял метод это то что можно зделать с обьектами класса(подкласса)

А теперь к моему заданию…
это методы? Open, Close, Seek, Read, Write, GetPosition и GetLength. ( подскажите что должны выполнять эти методы: GetPosition и GetLength)

Будущая моя программа должна создавать текстовый файл с описанием обьекта класса и выполнять все методы… я правально понял?

ps. по поводу инкапсуляции нашел вот такую штуку
Инкапсуляция: можно скрыть ненужные внутренние подробности работы объекта от окружающего мира. Это второй основной принцип абстракции. Он основан на использовании атрибутов внутри класса. Атрибуты могут иметь различные состояния в промежутках между вызовами методов класса, вследствие чего сам объект данного класса также получает различные состояния — state.



Отредактировано (Ноя. 17, 2010 19:11:04)

Офлайн

#6 Ноя. 17, 2010 20:31:19

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

классы и методы

Alex2ndr
Плюс описание всех действий, которые можно будет сделать с этим кубом(кинуть, ударить молотком и тд).
А вот это совсем неверно.
У него будет набор физических аттрибутов, которые могут изменяться от каких-либо воздействий. Т.е. будет функция (или метод объекта класса “человек”) “ударить молотком”. В качестве параметра передаём злополучный куб и… БАЦ! Высота у куба стала меньше, а ширина больше. И кубу пофиг, ударили его молотком, переехали катком или опустили в серную кислоту, так он вообще не знает, что это такое. Тупой он. Просто куб.



Отредактировано (Ноя. 17, 2010 21:02:06)

Офлайн

#7 Ноя. 17, 2010 22:25:53

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

классы и методы

ZigertoN
GetPosition - место, куда писать-читать. Меняется по Read, Write, Seek.
GetLenght - длина файла.
Программа должна состоять из класса, реализующего нужные методы.

И (бить за такое) - некое меню, позволяющее с файлом поработать.
Надо бы ставить такие задания чтобы интерфейс был просто command line.
О производном классе будете думать после того, как сделаете базовый.



Офлайн

#8 Ноя. 17, 2010 22:28:52

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

классы и методы

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

Готов обсудить - но не здесь



Офлайн

#9 Ноя. 18, 2010 13:26:36

ZigertoN
От:
Зарегистрирован: 2010-10-27
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

классы и методы

Народ, если у кова есть примеры создания классов и его описание выложите плз с пояснениями… до меня чето не доходит как класс описывать…
———————————————————————————————-
как я понял у меня обьектом класса будет файл …



Отредактировано (Ноя. 18, 2010 13:35:19)

Офлайн

#10 Ноя. 18, 2010 20:39:20

python4ik
От:
Зарегистрирован: 2010-01-05
Сообщения: 251
Репутация: +  0  -
Профиль   Отправить e-mail  

классы и методы

ZigertoN , я когда начинал изучать ООП , то не знал вообще, что такое Регистры процессора, аж пугало это слово регистры :) .
Но тем не менее, поломав немного голову над чужими примерами, и прочитав пару раз раздел про ООП , по немногу начал вникать.
У Лутца отлично всё расписанно! про классы. Что тебе не понятно? self - это подразумеваемый будующий обьект (экз-ляр класса).
Тем более что я тебе уже привёл пример! func(self) с помощью этого self ты будеш потом вызывать этот метод ekz.func()



Отредактировано (Ноя. 18, 2010 20:42:20)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version