ООП обясните

Статус
В этой теме нельзя размещать новые ответы.
Всё есть обьект. Вот смотри есть Синица.. Она такая синица правда? Так вот синица - это обьект, а у синици есть класс - птицы. У птиц есть такие функции: она может летать, какать на голову, кушать и т.д. Всё эти функции принадлежат классу птицы.
Так же к классу птицы относится обьект голубь. Он тоже имеет почти все свойства класса птицы, но отличается, например, окраской. На примере живого мира воспринимай всё это.. Может я и сам не так понимаю ооп :(
 
Всё есть обьект. Вот смотри есть Синица.. Она такая синица правда? Так вот синица - это обьект, а у синици есть класс - птицы. У птиц есть такие функции: она может летать, какать на голову, кушать и т.д. Всё эти функции принадлежат классу птицы.
Так же к классу птицы относится обьект голубь. Он тоже имеет почти все свойства класса птицы, но отличается, например, окраской. На примере живого мира воспринимай всё это.. Может я и сам не так понимаю ооп :(

методы в классе для чего нужны? чтобы объектами манипулировать. как можно летать синицу? конечно немного изловчившись ею можно и покушать и покакать на голову, но это будет очень плохо написанный класс.
 
Честно говоря я сейчас начал работать с ООП, переписал большую часть с функций. Везде пишут - ООП сложно, я читал много заумных статей, много разных мнений, типа нужно это не нужно, усложняет или облегчает код и все время откладывал изучение из-за этого.

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

Конечно, я подразумеваю, что при построении больших проектов совсем другой ООП, но для своих задач мне стандартного разделения по классам логики хватает.
 
методы в классе для чего нужны? чтобы объектами манипулировать. как можно летать синицу? конечно немного изловчившись ею можно и покушать и покакать на голову, но это будет очень плохо написанный класс.

А можешь немного развить свою мысль? Скажем, в чем отличие объекта "Синица" с методами "летать", "кушать", "какать" от объекта Window с методами MoveTo(x,y), Maximize(), Close() ?
 
ООП нужно для больших проектов, либо утилит.

Банальный пример - класс для работы с базой данных.

Приведу чуток кода:
PHP:
<?php
class DbMysql
{
    private $resource;
    private $cursor;

    public function init( array $options )
    {
        // подключаемся
    }

    public function execute( $query )
    {
        // делаем запрос
    }

    public function getCell()
    {
        // получаем одну ячейку результата
    }

    public function getRow()
    {
        // получаем результат в виду одного массива
    }

    public function getRows()
    {
        // получаем полный результат ( если больше 1 строки )
    }
}
?>

думаю понятно )
 
Да, ООП просто упорядочивает код по контейнерам, позволяет избежать повторяющегося кода, создать более гибкую структуру для дальнейших изменений и развития, не продумывая детально заранее что откуда будет рости. По сути методы - это те же функции, выполняющие тоже самое, только с большими возможностями.
 
писал на объектах, писал без объектов. мое мнение - хотите получить эстетическое удовлетворение - юзайте классы. хотите сэкономить время и решить конкретную проблему быстро - решайте все в лоб.
 
Поддерживаю diavolic, читал книгу Мэтта Зандстра про методики программирования на php, он пишет, что сложность и стиль написания кода должны быть адекватны задаче, которую этот код решает
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху