Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Преподавание ActionScript 3.0 (http://www.flasher.ru/forum/showthread.php?t=144413)

Bond007 11.09.2010 12:35

Преподавание ActionScript 3.0
 
В своем институте преподаю основы AS3.

Хотел спросить как лучше рассказать что такое ООП, что такое классы, объекты ?
Если брать учебник и читать по нему, то вообще крыша у них съедет, т.к. должна быть понятна идея всего о чем говоришь.

Обычно, даже когда рассказываешь про, например, битовые операции сдвига возникает вопрос, а зачем что-то двигать.

Может у кого-то есть идея примера класса, на котором хорошо будет рассказывать про ООП ?

Поделитесь своими мыслями пожалуйста. :)

Shogun4ever 11.09.2010 15:22

:) Думаю неплохо будет на примере реальных объектов объяснить для начало.
Например если учебный класс, в нем ученики, столы, стулья. У него свойства x y ... ну и так далее.

Потом наследство: базовый класс учеников это человек, а так как есть разные то собственно монголы, индусы... можно и на примере ручек, делают они одно и тоже но выглядят по разному и с разными свойствами, ну и все такое...

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

Ну и дальше уже можно к практике переходить, начинать с простого базового класса Object. Дальше реальные объекты перенести в классы. И все так далее.

Охх...:wacko: ну надеюсь поняли о чем я. :D
Надеятся только на чтение из книг и простых копи паст примеров не стоит, на своем примере знаю что если хотите чтобы им это было понятно и запомнилось то нужно разьеснить все на нормальном человеческом языке.

гг... :bye::D

wvxvw 11.09.2010 16:58

Я бы искал что-то, что можно было бы потом использовать в качестве продолжения, например с наследованием (как у Мука - животные, т.е. класс Кот и класс Собака - оба наследники класса Млекопитающее, которой в свою очередь наследник класса Животное, но еще и имплементит интерфейс Домашнее (т.е. не все домашние животные на самом деле животные, могут быть и насекомые, например :))
Но тут возникают некорорые проблемы, например, как в таком случае представить композицию или декоратор? :) Будет ли мягкая игрушка хорошим примером? (т.е. использует какие-то качества животного, но в то же время животным не является). А декоратор - как блохи, можно перенести с одного животного на другое, при этом поменяв качество животного? :D

Shogun4ever 11.09.2010 17:09

Цитата:

Сообщение от wvxvw (Сообщение 935090)
Я бы искал что-то, что можно было бы потом использовать в качестве продолжения, например с наследованием (как у Мука - животные, т.е. класс Кот и класс Собака - оба наследники класса Млекопитающее, которой в свою очередь наследник класса Животное, но еще и имплементит интерфейс Домашнее (т.е. не все домашние животные на самом деле животные, могут быть и насекомые, например :))
Но тут возникают некорорые проблемы, например, как в таком случае представить композицию или декоратор? :) Будет ли мягкая игрушка хорошим примером? (т.е. использует какие-то качества животного, но в то же время животным не является). А декоратор - как блохи, можно перенести с одного животного на другое, при этом поменяв качество животного? :D

:D :D Ну я общую мысль выразил, а примеров могут быть уймо...

Bond007 11.09.2010 18:30

Да, да я про это же. Все правильно.
Надо будет придумать хороший пример, на котором можно было бы объяснить, что такое наследование и полиморфизм.
И вообще был максимально пригодным для всего о чем надо будет рассказывать.

alexcon314 11.09.2010 20:22

А чем кружочки с квадратиками не устраивают? Тем более, что много ооп просматривается при работе именно с графическими объектами (это субъективно, но тем не менее).
Потом, животные - это мило, но далеко не каждый способен психологически рассуждать об ооп в терминах живого, пусть и животного мира. Кому-то блохи просто омерзительны, а кто-то за любимого песика может и по морде дать, другой поржет и пойдет пить пиво, а у того с зоологией вообще беда. Тут шибко не развернешься, одним словом.
Пример со студентами-стульями-столами-дверьми - это для кавээна, пожалуй, но как разогрев подошел бы, пожалуй)).
Впрочем, если преподаватель суть личность авторитетная (типа Мук-2:)) или может уверенно держать аудиторию под контролем, обладая при этом железной волей - ради бога, делайте как вам нравится.

Shogun4ever 11.09.2010 20:24

Цитата:

Сообщение от Bond007 (Сообщение 935102)
Да, да я про это же. Все правильно.
Надо будет придумать хороший пример, на котором можно было бы объяснить, что такое наследование и полиморфизм.
И вообще был максимально пригодным для всего о чем надо будет рассказывать.

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

пс: много примеров это все-таки опыт...

FlashRus 12.09.2010 00:25

Цитата:

А чем кружочки с квадратиками не устраивают? Тем более, что много ооп просматривается при работе именно с графическими объектами (это субъективно, но тем не менее).
помоему это лучший вариант. Начать с точки, потом линия, квадрат и круг....

easy.proger 12.09.2010 00:36

Наверно еще стоит добавить, что ООП изначально создавалось для упрощения жизни программисту поэтому стоит сделать на этом акцент и рассказать ученикам например, что ООП помогает по тысячи раз не писать одно и то же, то есть к примеру у нас есть куча методов и куча свойств которые нужны определенному количеству классов, так вот чтобы иметь в одном месте описание всех этих методов/переменных и нужно использовать ООП

Пример отличный есть, DisplayObject, чтобы не писать в Sprite/MovieClip ets методы addChild/x/y/ и т/д/, можно отнаследоваться от DisplayObject.

Напомню, ООП прежде всего облегчает работу программиста, писать ради самого ООП плохая практика и частая ошибка программистов и учить такому подходу явно не хорошо. Использовать нужно все тогда, когда действительно нужно. )

wvxvw 12.09.2010 03:32

По поводу кружков и квадратов. Это не ахти какой пример... Если бы можно было ограничится совсем небольшим набором фигур - тогда да, а так можно легко и до октагонов добраться, а может и дальше :)
В этом одна из большущих проблем диаграм всякого вида. Если взаимоотношения сложные, то очень тяжело сделать диаграму так, чтобы она не запутала больше. Поэтому для быстроты усвоения хочется все-таки какой-то пример, в котором уже есть знакомые элементы и взаимосвязи.


Часовой пояс GMT +4, время: 02:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.