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

Форум PHP

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

 

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

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

тема: Классы, много непонятного. Принципы ОПП.
 
 автор: Sonic   (16.07.2009 в 12:44)   письмо автору
 
 

Добрый день, начал ихзучать ОПП. Ничего в этом не понимаю. Сразу появилось много ворпосов.
Допустиму у нас есть класс Calc, который всего навсего складывает 2 числа. Я ниже накидал 4 варианта.

1-ый вариант
<?php
class Calc {
    var 
$a;
    var 
$b;
    var 
$result;

    function 
summa()
    {
        
$this->result $this->$this->b;
        return 
$this->result;
    }
}

$Calc = new Calc;

$Calc->5;
$Calc->6;
echo 
$Calc->summa();
?>


2-ой вариант.
<?php
class Calc {
    function 
summa($var1$var2)
    {
        
$result $var1 $var2;
        return 
$result;
    }
}

$Calc = new Calc;

echo 
$Calc->summa(1,7);
?>


3-ий вариант
<?php
class Calc {
    var 
$a;
    var 
$b;
    var 
$result;

    function 
summa($var1$var2)
    {
        
$this->$var1;
        
$this->$var2;
        
$this->result $this->$this->b;
        return 
$this->result;
    }
}

$Calc = new Calc;

echo 
$Calc->summa(5,7);
?>


4-ый вариант.
<?php
class Calc {
    var 
$a;
    var 
$b;
    var 
$result;

    function 
summa($color)
    {
        
$this->result $this->$this->b;
        return 
"<font color=".$color.">".$this->result."</font>";
    }
}

$Calc = new Calc;

$Calc->5;
$Calc->6;
echo 
$Calc->summa('red');
?>


Как я понимаю суть процесса. Допустим у нас есть класс, с набросками методов и свойств. Мы пишем новый метод, если в нем как-то используется свойства класса, то используем их. (Пример 1), если же используется дополнительный параметр, который не связан с классом, то используем дополнительный параметр. (Пример 4).
Интересует куда использовать вариант 2)) Во общем интересуют наставления)

  Ответить  
 
 автор: ride   (16.07.2009 в 13:31)   письмо автору
 
   для: Sonic   (16.07.2009 в 12:44)
 

почитайте здесь. почитайте еще пару похожих статей.
когда будете знать что такое классы, приступайте к изучению какого-нибудь фрэймворка(например, Zend Framework - примеров и литературы - куча). Так вы освоите классы намного быстрее и лучше.

  Ответить  
 
 автор: Keyses   (16.07.2009 в 13:54)   письмо автору
 
   для: Sonic   (16.07.2009 в 12:44)
 

3й вариант можно сделать проще:
<?php 
class Calc 
    var 
$sum

    function 
Calc($var1$var2) { 
        
$this->sum $var1 $var2
    }
    function 
Sum(){
        return 
$this->sum;
    }


$Calc = new Calc(5,7); 
echo 
$Calc->Sum(); 
?>

Лучше объявлять в данном случае переменные в конструкторе.

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

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