Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Экземлпляр класса или наследование?
 
 автор: STEVER   (30.01.2010 в 17:53)   письмо автору
 
 

В классе B нужно использовать класс A, и есть 2 стандартных способа:


<?php
class A{    ...}
class 
B
{
    
__construct() 
    {
        
$this->objectA = new A();
    }
}


<?php
class A{    ...}
class 
extends A{    ...}


Что посоветуете господа эксперты? В каком случае что эффективнее использовать?

  Ответить  
 
 автор: neadekvat   (30.01.2010 в 18:06)   письмо автору
 
   для: STEVER   (30.01.2010 в 17:53)
 

Сам в ООП не эксперт, но свой вяк сказать хочется.
Если чисто по логике смотреть (не углубляясь в реализацию этого на уровне самого php), то лучше все-таки наследование, т.к. потом будет создан объект класса B. А если в классе B создавать объект класса A, то получится, что в скрипте создано два объекта от двух разных классов, т.е., по идее, это бОльшая нагрузка, нежели один объект =)

  Ответить  
 
 автор: STEVER   (06.02.2010 в 17:58)   письмо автору
 
   для: neadekvat   (30.01.2010 в 18:06)
 

хм.
ну если смотреть просто по логике, то от перестановки слагаемых сумма не меняется.

  Ответить  
 
 автор: neadekvat   (06.02.2010 в 18:01)   письмо автору
 
   для: STEVER   (06.02.2010 в 17:58)
 

Это почему же? Результат-то разный в итоге: в оперативной памяти создается только один объект, а не два.

  Ответить  
 
 автор: Тень   (30.01.2010 в 18:08)   письмо автору
 
   для: STEVER   (30.01.2010 в 17:53)
 

А что нужно-то? Это декоратор? Или ООП ради ООП?

  Ответить  
 
 автор: Красная_шляпа   (30.01.2010 в 20:08)   письмо автору
 
   для: Тень   (30.01.2010 в 18:08)
 

для меня все это ооп лишь способ использовать иное пространство имен

  Ответить  
 
 автор: Тень   (30.01.2010 в 20:28)   письмо автору
 
   для: Красная_шляпа   (30.01.2010 в 20:08)
 

В PHP 5.3.0, кстати, ввели пространства имён.

  Ответить  
 
 автор: STEVER   (06.02.2010 в 17:53)   письмо автору
 
   для: Тень   (30.01.2010 в 20:28)
 

хм, неужели никто не знает/ не хочет дать ответа?

  Ответить  
 
 автор: Саня   (06.02.2010 в 23:59)   письмо автору
 
   для: STEVER   (06.02.2010 в 17:53)
 

В вашем случае оба варианта равнозначны.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования