|
|
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
Что такое Абстрактные классы и Интерфейсы и для чего они нужны? если можно жизненный пример, например обычный код и код с абстрактными классами и интерфейсами, чтобы сравнить можно либо на словах без кода чтоб я понял как применить в проекте а то я зря трачу время на учебник Мэтта Зандстра перечитывая уже десятый раз подряд соответствующую главу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2012, 01:03:10 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
Абстрактные классы http://www.javacoffeebreak.com/faq/faq0084.html Abstract classes are classes that contain one or more abstract methods. An abstract method is a method that is declared, but contains no implementation. Abstract classes may not be instantiated, and require subclasses to provide implementations for the abstract methods. Let's look at an example of an abstract class, and an abstract method. нужны как бэ, для описания класса, от которого можно только наследоваться, бо сами по себе, особой смысловой нагрузки не несут и их экземпляры в коде как бэ и не нужны вовсе! область применения (к примеру ;) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. в валидаторе нет необходимости переписывать логику синглтона по новой, а сам по себе (один) синглтон не представляет пользы! то есть, из кучи классов с повторяющимися методами можно\нужно вынести методы в один общий абстрактный класс и наследоваться от него! имеют место быть (по желанию\необходимости ;) ещё и абстрактные методы, которые обязательно должны присутствовать в классе наследнике, что бы не забыть реализовать логику непосредственно по месту! Интерфейсы так же имеют вполне практическое применение, (есть даже один пример использования, для просветления! ;) только сейчас мне описывать его не досуг, мб позже! P.S. напочитать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2012, 08:40:35 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
prot0type, Я спрошу у вас, вы много на практике применяли алгоритмический подход в программировании? Если нет то лучше сначала на него, а потом уже ООП. Если по делу то первая книжка которую вы должны прочитать об ООП называется: Объектно - ореинтированный анализ и проектирование, автор Гради Буч. Это основы ООП, интерфейсы и абстрактные классы вы без этого не поймёте, сужу по себе если что). Только в книжку надо вчитываться, вчитываться и еще раз вчитываться. Удачи. Если еще ближе к делу, то интерфейсы и абстрактные классы это лишь инструменты языка программирования которые позволяют применять принципы ООП, такие как полиморфизм, наследование. Так что не надо сразу кидаться на эти инструменты) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2012, 15:05:22 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
qwerty1992 интерфейсы и абстрактные классы это лишь инструменты языка программирования которые позволяют применять принципы ООП, такие как полиморфизм, наследование без интерфейсов и абстрактных классов нельзя реализовать полиморфизм и наследование? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2012, 05:31:21 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
r u, нет). Ну если не обманывать то наследование конечно получится, но это не то) Нужно основы знать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2012, 13:36:10 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
И чем это не то наследование и полиморфизм отличается от того? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2012, 13:57:57 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
Hett, Да потому что наследование очень часто используется вместе с абстракцией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2012, 14:24:59 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
И чем это не то наследование и полиморфизм отличается от того ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2012, 14:38:36 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
r uqwerty1992 интерфейсы и абстрактные классы это лишь инструменты языка программирования которые позволяют применять принципы ООП, такие как полиморфизм, наследование без интерфейсов и абстрактных классов нельзя реализовать полиморфизм и наследование? 1) Отделите теорию ООП от практики. На практике абстрактные классы и интерфейсы можно не применять и делать все через виртуальные функции в обычном классе. 2) На практике абстрактный класс полезен для определения виртуальных методов, которые наследники обязаны переопределить, 3) Общие методы можно держать и в обычном классе, не абстрактном, так что этот аргумент не говорит о необходимости именно абстрактных классов. 4) Интерфейс в теории подразумевает работу с разными обьектами как с одним типом. На практике это еще подкрепляется специальной конструкцией (public interface IFoo {} ) r uчтоб я понял как применить в проекте В проекте лучше без этого, если нет хорошего знания. Изучайте системные библиотеки или open source проекты, например в .Net можно начать с System.Collections ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2012, 14:50:59 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
топикстартер не я, но спасибо за диалог) neoddd1) Отделите теорию ООП от практики. На практике абстрактные классы и интерфейсы можно не применять и делать все через виртуальные функции в обычном классе. в пхп нет виртуальных функций. поэтому говорить о них нет смысла. neoddd2) На практике абстрактный класс полезен для определения виртуальных методов, которые наследники обязаны переопределить, вы ничего не путаете? абстрактный класс НИКАК не сможет ЗАСТАВИТЬ наследников переопределить свои методы. Вот интерфейс как раз может и должен этим заниматься. абстрактный класс лишь запрещает создавать свои инстансы, намекая на то что сначала надо отнаследоваться. neoddd3) Общие методы можно держать и в обычном классе, не абстрактном, так что этот аргумент не говорит о необходимости именно абстрактных классов. согласен. общие методы могут лежать где угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2012, 06:41:10 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
авторабстрактный класс НИКАК не сможет ЗАСТАВИТЬ наследников переопределить свои методы. http://www.phpro.org/tutorials/Object-Oriented-Programming-with-PHP.html#8 Any class that extends an abstract parent class must create an interface of the parent abstract methods. If this is not done a fatal error is generated. This ensures that the implementation is correct. P.S. авторВ проекте лучше без этого, если нет хорошего знания. ерунда какая то! в проекте лучше без ООП, если нет хорошего знания! в программировании лучше без программирования, если нет хорошего знания! and etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2012, 07:57:03 |
|
||
|
Абстрактные классы и Интерфейсы - учебник не помогает
|
|||
|---|---|---|---|
|
#18+
-OOP-, согласен. фигню написал. мысль была немного иная. я имел в виду, что абстрактный класс не обязывает наследников переопределять ВСЕ свои методы. а только те которые ЯВНО объявлены как абстрактные. он при этом может содержать и неабстрактные методы которые можно спокойно юзать в наследниках не переопределяя. а вот интерфейсы - реализации не содержат. и ВСЕ методы описанные в них придется в "наследниках" переопределеять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2012, 09:20:14 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37777140&tid=1465199]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 419ms |

| 0 / 0 |
