ООП. Классы, объекты.

Тема в разделе 'PHP', создана пользователем Khrome, 8 июн 2011.

?

Все ли вам стало понятно?

Да 0 голосов 0,0%
Нет(Напишите что, почему. Мы вам ответим:)) 0 голосов 0,0%
Уже знаю данную тему :) 1 голосов 50,0%
Ничего не понял =( 1 голосов 50,0%
  1. Khrome Exterminate!

    Что такое класс?
    В понимании многих людей - это нечто объединенное, собранное в одну кучу.
    Так оно и есть!
    Класс в понимании автора статьи - это объединение некоторого числа функций, которые взаимосвязаны между собой определенной задачей. Например, существуют классы для упаковки архивов, работы с MySQL и PostgreSQL и многие другие. И чаще всего они направлены на определенную задачу.
    Чем же они так удобны?
    Да вот, например. Давайте разберем 2 реализации задумки гостевой книги.
    1. При помощи простых функций помещенных в файл functions.php
    2. При помощи классов, которые разбиты по файлам. Допустим это mysql.class.php, captcha.class.php, smiles.class.php.
    Казалось бы, в чем тут прикол?
    Да все просто как спичка! Дело в том, что в ООП(объектно-ориентированное программирование) есть 1 самое важное отличие: наследование.
    К примеру, дом - он состоит из крыши, окон, кирпичей и дверей. Здесь то же самое - мы сами создаем "кирпичи" и "окна" для будущих проектов.
    Наследование - это способность одного класса быть родителем других, т.е. все остальные классы, которые вы создаете, возможно сделать детьми самого главного класса.
    Разберем опять на примере.
    Для создания класса GuestBook мы напишем такой код и несколько функций примеров:
    PHP:
    <?php
    class GuestBook {
        function 
    get_date() {
            echo 
    date("d.m.Y");
        }
        function 
    print_page() {
            
    $page "Hello!";
            echo 
    $page;
        }
    }
    ?>
    Впечатлило?
    Мы только что создали ваш первый класс. Заметьте, никакой сухой теории(её вы будете изучать позже).
    Для того, чтобы сделать следующий класс "ребенком" класса GuestBook просто добавляем после имени класса ключевое слово extends и имя класса-родителя.
    Вот так:
    PHP:
    <?php
    class text_gb extends GuestBook {
        function 
    set_bold_txt($txt) {
            echo 
    "<strong>".$txt."</strong>";
        }
    }
    ?>
    А как же обратиться к классу?
    Просто опять же! Для этого создаем переменную и присваиваем ей значение с ключевым слово new. Вот так:
    PHP:
    require '/class.gb.php';
    require 
    '/class.text_gb.php';
    $gb = new GuestBook();
    $gb = new text_gb();
    $gb->set_bold_txt($gb->print_page());
    Таким образом мы сейчас успешно использовали функции из 2 классов - класса-родителя и дочернего класса.
    ***Для просмотра ссылок необходимо войти или зарегистрироваться***, который решает все проблемы.
    Будут вопросы - так же задавайте их сюда.
    Статья еще будет дорабатываться.
    djzezya, XmP и Admin нравится это.
  2. f-duck Новичок

    1. Слишком поверхностно.
    2. Не совсем верное определение класса. Даже нет, не определение, а сравнение.
    Классы - объекты. Можно сравнить с объектами реального мира.
    К примеру, самолет: он состоит из множества деталей - объектов (двигатель, крылья, бак, шасси), а совокупность этих объектов дает конечную систему, например, CMS.
    Admin и Khrome нравится это.
  3. Khrome Exterminate!

    Я же говорю, что буду её дорабатывать чтобы в будущем она получилась полной.
    Самое важное как всегда - находить информацию в Сети.
    Сейчас поддоработаю статью.
    Admin и f-duck нравится это.
  4. bespontoff Новичок

    а если уже совсем точно, то класс это не объект, а его поведение...
    объекты по сути пользовательские переменные с поведением описанном в классе данного объекта

Поделиться этой страницей