В общем, на все что я сказал можна не обращать внимания. Жду дальнейших указаний. И спасибо за то, что я хотябы понял уже наконец, что такое Абстрактный класс( хотябы с теоретической точки зрения ).хочу чтоб все аттрибуты были приватными у обоих классов, а данные будем вводить через метод exchangeArray( array $array );
к примеру так
заодно можно написать interface с этим методом и сказать что твои классы его имплементируют.PHP:$map = new Map; $map->exchangeArray( array('scale' => 1000, 'country' => "Ukraine", 'mapType' => "political") )
А тогда подскажите как лучше тесты писать - програмкой или в уме( в комментариях написать)? Если програмкой, то посоветуйте какой пользуетесь.из всего этого говна ООП у тебя лишь в одном месте просматривается
внатуре лол) я думал что нет разницы где находится класс или функция в файле.Лол, местами поменяй
нет, я предлагаю посмотреть на все несколько с другой стороны. есть 2 совершенно различных класса, но они имеют нечто общее одинаковый метод. более того один типЯ догадиваюсь что нужен абстрактный класс, в котором будет реализован этот метод, которого будут наследовать Map and Human.
да да, я так и думал что нужно забыть все что я сказал)нет, я предлагаю посмотреть на все несколько с другой стороны. есть 2 совершенно различных класса, но они имеют нечто общее одинаковый метод. более того один тип
Добавил класс Intersectитак, хочу иметь некий класс, с методом принимающим первым аргументом любой обьект класса имплементирующего ForClasses, и вторым некий массив.
public function exchange( ForClasses obj, array $arr ); внутри метода вызывается exchangeArray для указанного обьекта
/** class Intersect **/
class Intersect
{
public function exchange( ForClasses $obj, array $arr )
{
$obj->exchangeArray($arr);
}
}
$Human = new Human;
$humanArr = array('age'=>18, 'firstname'=>"Vanya", 'lastname'=>"Pupkin", 'country'=>"Ukraine", 'city'=>"Kyiv" );
Intersect::exchange($Human, $humanArr);
$Human->resume();
$Map = new Map;
$mapArr = array('scale'=>1000, 'country'=>"Ukraine", 'mapType'=>"political" );
Intersect::exchange($Map, $mapArr);
echo $Map->mapName;
interface ForClasses
function exchangeArray();
}
class Intersect{
public function exchange( ForClasses $obj, array $arr ){
$obj->exchangeArray($arr);
}
}