Вызов дочернего метода из родительского класса – почему это «неправильно»?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вызов дочернего метода из родительского класса – почему это «неправильно»?

Сообщение Anonymous »

Я понимаю, что первая методология здесь считается плохой, а вторая — лучшей. Но я не уверен, что действительно знаю, почему. Первый способ: вызывается родительский метод, который затем вызывает дочерний метод для получения более подробной информации. Это кажется менее многословным, чем второй способ, и я не уверен, что вижу в этом что-то неправильное. Но - вы мне все скажете. И насколько это неправильно? Будут ли меня вечно высмеивать, делая это таким образом?
(Сначала я разместил это на дискуссионном форуме, поскольку это казалось философским вопросом, но его удалили, и мне сказали задать его как вопрос - вот и я)
class Parent_Class {
function generate_results() {
// ... do some things first that any child would need
// ... then do more specific child things
$this->generate_more_results();
}
}

class Child_Class_A extends Parent_Class {
function generate_more_results() {
// ... do more things
}
}

class Child_Class_B extends Parent_Class {
function generate_more_results() {
// ... do more things
}
}

$a = new Child_Class_A();
$b = new Child_Class_B();
$a->generate_results();
$b->generate_results();

------

class Parent_Class {
function generate_results_init() {
// ... do initial things germane to all children
}
}

class Child_Class_A extends Parent_Class {
function generate_results() {
$this->generate_results_init();
// ... do more things
}
}

class Child_Class_B extends Parent_Class {
function generate_results() {
$this->generate_results_init();
// ... do more things
}
}

$a = new Child_Class_A();
$b = new Child_Class_B();
$a->generate_results();
$b->generate_results();


Подробнее здесь: https://stackoverflow.com/questions/788 ... s-it-wrong
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»