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

Форум PHP

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

 

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

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

тема: Наследование методов
 
 автор: sl1p   (03.11.2010 в 14:50)   письмо автору
 
 

<?
class  {
    function 
a($param) {
        
    }
}

class 
extends {
    function 
a($param$param2) {
        
    }
}


т.е. нужно переопределить функцию в дочернем классе но с другим набором аргументов, кровь износу нужно=)
пхп ругается что такая тема устарела.

В данный момент юзаю
func_get_args + list()
но считаю это кривым)

  Ответить  
 
 автор: psychomc   (03.11.2010 в 15:16)   письмо автору
 
   для: sl1p   (03.11.2010 в 14:50)
 

а если так вызывать

<?php
:: a(1,2); 

?

  Ответить  
 
 автор: Лена   (03.11.2010 в 15:17)   письмо автору
 
   для: sl1p   (03.11.2010 в 14:50)
 

А там нельзя немного переделать родителя?

У меня такой вариант:

<?php


class  
protected 
$param = array();//делаем массивом и приватным ресурсом 
    
function a($this->param) { 
         
    } 


class 
extends {
    function 
a($this->param) { 
         
    }
}

а дальше уже запихиваем в массив сколько угодно элементов( $this->param[0],$this->param[1] )

  Ответить  
 
 автор: psychomc   (03.11.2010 в 15:21)   письмо автору
 
   для: Лена   (03.11.2010 в 15:17)
 

так не приватный же ресурс :)

  Ответить  
 
 автор: sl1p   (03.11.2010 в 15:31)   письмо автору
 
   для: Лена   (03.11.2010 в 15:17)
 

мм можно но просто у меня таких классов куча, достались со старых библиотек..
дочерних классов "a" может быть очень много и у всех свои параметры.. так что переделывать родителя нет смысла..

  Ответить  
 
 автор: Лена   (03.11.2010 в 16:47)   письмо автору
 
   для: sl1p   (03.11.2010 в 15:31)
 

>дочерних классов "a" может быть очень много и у всех свои параметры.. так что переделывать родителя нет смысла..

можно попробовать чуть-чуть переделать :)
Другой вариант пришел на ум:
посмотреть, какое максимальное количество аргументов может быть в методе дочернего класса, в родительском классе в методе указать это количество аргументов:

<?php
class  {
    function 
a($param1,$param2=null,$param3=null,$param4=null) {
        
    }
}

  Ответить  
 
 автор: sl1p   (03.11.2010 в 21:06)   письмо автору
 
   для: Лена   (03.11.2010 в 16:47)
 

кривее не придумать)

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

помоему самый стильный вариант мой =)

  Ответить  
 
 автор: Лена   (03.11.2010 в 21:19)   письмо автору
 
   для: sl1p   (03.11.2010 в 21:06)
 

>дочерние классы не известны, они могут подключаться как плагины.

Рассказывать надо подробней, чтобы понятно было, в чем дело. Телепатов здесь нет, вашей системы никто не знает, поэтому додумывать на голом месте за вас никто не будет.

>помоему самый стильный вариант мой =)

На здоровье. Идите и гордитесь собой. :)

  Ответить  
 
 автор: sl1p   (03.11.2010 в 21:22)   письмо автору
 
   для: Лена   (03.11.2010 в 21:19)
 

Вы только не обижайтесь :)
Я сказал то что есть=) он более гибок чем проставить 999 параметров смотря на какойто дочерний класс)

А зачем Вам знать мою систему?

Я сказал есть класс родитель, могут подключаться дочки(плагины) с разным кол-во параметров такой же функции. Помоему всё что надо я сказал.

  Ответить  
 
 автор: neadekvat   (03.11.2010 в 21:52)   письмо автору
 
   для: sl1p   (03.11.2010 в 21:22)
 

> могут подключаться дочки(плагины) с разным кол-во параметров такой же функции.
А теперь перечитайте первый пост.
Там показаны две функции, не более. Логично предположить, что вы с этими двумя функциями и мучаетесь, не так ли? Или плагины - это логичнее?

  Ответить  
 
 автор: sl1p   (03.11.2010 в 22:15)   письмо автору
 
   для: neadekvat   (03.11.2010 в 21:52)
 

почитайте ниже первого поста, там какбы всё равно объснил.

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

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