1. vanicon - 10 Апреля, 2011 - 13:58:54 - перейти к сообщению
Прочитал на сайте про ООП программирование, но так и не понял в чем различия между традиционными методами и ООП, написано что при хорошем ООП программирование приложение работает быстрее и более гибко... Можете ли вы написать не большой примерчик, который явно будет показана гибкость и быстрота выполнение чем с традиционными методами.
2. Champion - 10 Апреля, 2011 - 14:24:39 - перейти к сообщению
vanicon пишет:
Нет, это вряд ли. Просто при хорошем программировании приложение быстрее и гибче. ООП тут ни при чем.при хорошем ООП программирование приложение работает быстрее
ООП - просто способ мышления. Вы рассматриваете проблему как совокупность взаимодействующих объектов.
Допустим надо написать прогу, в которой выхухоль бросает мячик. Будет 2 объекта: выхухоль и мячик. У них будет грубо говоря 3-5 свойств, 3-5 публичных методов. Этими объектами будет очень просто пользоваться, потому что вся сложность и расчеты скрыты в 20 приватных методах. Пользователю класса это не надо знать и вы это подчеркиваете при помощи ООП. И сами знаете, что если вы захотели изменить какой-то приватный метод, что он никем нигде не используется, кроме как методами этого же класса.
Вот самая главная штука ООП. Это инкапсуляция.
Наследование позволяет удобно фигарить объекты с более широким / измененным набором свойств из уже существующих.
Полиморфизьм - тоже хорошая штука, которая как раз проявляется при наследовании при использовании переопределенных методов дочерних классов, например.
3. Toxa - 10 Апреля, 2011 - 15:00:53 - перейти к сообщению
боюсь никто никогда не даст четкого ответа на данный вопрос. ООП - это философия, на эту тему написаны десятки книг
4. OrmaJever - 10 Апреля, 2011 - 15:25:12 - перейти к сообщению
Я читал что класы работают даже медленее простых функций, но лично для меня проще понять код с обьектами чем с простыми функциями, и он получается более гибкий.
5. Haron - 10 Апреля, 2011 - 22:55:24 - перейти к сообщению
Чтобы понять сам принцип и идею ООП - мне помогли небольшие упражнения:
Например описать программно "Стаканы" (т.е. создать класс стакана, определить его свойства и методы). Естественно, что вызов класса - должен возвращать определённый стакан. Например гранёный, бесцветного стекла
Гранёный и бесцветный - это свойства стакана (Читайте - класса).
Можно также определить методы стакана (aka Класса) - например "Налить водярой на 100мл", "Отпить 100мл из стакана".
Кстати говоря - "Водяра" - тоже объект со своими свойствами.
Обратите внимание, объект - это то, что создаёт класс при его инициализации.
Попробуйте и Вы
Также могу посоветовать почитать главу (по-моему десятую) книги Льюиса Кэррола "История с узелками". Там про абстракцию и классификацию - написано макимально доступно и популярно. Человек на полтора века опередил время .
(Добавление)
И кстати... Парни, а давайте напишем класс стакана! Ради примера, а тему прилепим?
Например описать программно "Стаканы" (т.е. создать класс стакана, определить его свойства и методы). Естественно, что вызов класса - должен возвращать определённый стакан. Например гранёный, бесцветного стекла
Гранёный и бесцветный - это свойства стакана (Читайте - класса).
Можно также определить методы стакана (aka Класса) - например "Налить водярой на 100мл", "Отпить 100мл из стакана".
Кстати говоря - "Водяра" - тоже объект со своими свойствами.
Обратите внимание, объект - это то, что создаёт класс при его инициализации.
Попробуйте и Вы
Также могу посоветовать почитать главу (по-моему десятую) книги Льюиса Кэррола "История с узелками". Там про абстракцию и классификацию - написано макимально доступно и популярно. Человек на полтора века опередил время .
(Добавление)
И кстати... Парни, а давайте напишем класс стакана! Ради примера, а тему прилепим?
6. vanicon - 11 Апреля, 2011 - 00:01:11 - перейти к сообщению
Если так, то идею ООП я понял, но стаканы это стаканами. А мне хочется чтобы кто нибудь написал пример реального облегчения программирования средствами ООП, я имею ввиду в вебе. Допустим есть движок сайта, который просто создает и удаляет записи, страницы и т.д Где там может применяться ООП, и для чего???
7. Okula - 11 Апреля, 2011 - 00:04:45 - перейти к сообщению
vanicon, одна из основных задач ООП это уменьшить повторяющийся код в приложениях.
8. OrmaJever - 11 Апреля, 2011 - 00:25:12 - перейти к сообщению
vanicon покажите код я переделаю.
9. vanicon - 11 Апреля, 2011 - 00:30:48 - перейти к сообщению
Цитата:
vanicon покажите код я переделаю.
Вот вам код на проверку логина и пароля:
CODE (php):
скопировать код в буфер обмена
скопировать код в буфер обмена
- function login_form($login,$password,$remember,$element,$screen){
- $systemsql = mysql_query("SELECT id,type FROM users WHERE login='".$login."' AND password = '".encode_cms($password)."' AND system = '1'");
- if($element <> 'js'){
- if($remember <> null){
- if($system['id'] <> null){
- }
- }
- }
- if($system['id'] == null){
- $eror = 'введеные Вами пароль или логин не верны';
- }
- else{
- $_SESSION['login'] = $login;
- $_SESSION['password'] = encode_cms($password);
- $_SESSION['type'] = $system['type'];
- update_info($login,$screen);
- echo '<script type="text/javascript">location.href="'.HTTPLINK.'/'.$login.'"</script>';
- }
- return $eror;
- }