В чем отличие class от простого зборища функций?

Crazy

Developer
Автор оригинала: Линк
хотя.. я не представляю человека, который бы СПЕЦАЛЬНО ломал объект.
Их ломают не специально. Их ломают из лучших, б[censored]я, побуждений.
 

гоша

Guest
Crazy

Ты всё перепутал.
Как раз в С++ никакой инкапсуляции нету...

Код:
#include <stdio.h>

class A{

// private member

 int x;

 public:
	 A(){
		 x=123;
	 }

	void printX(){
	  printf("\nx is %d",x);
	}
};

void main(){

	A *aa=new A();

	aa->printX(); // 123

	*(int*)aa=777;
	aa->printX(); // сюрприз...

}
логика, ага.
 

Krisha

pain in the neck
Господа, вы говорите как слепой с глухим...

Verk
Иди работай :)

Crazy
Абстрагируйся от PHP :)

P.S. Если у вас на стене висит картина с изображением моря, это еще не значит, что в нем можно искупаться, но сказать, что у вас на стене нету моря - тоже нельзя.

P.P.S. Уставший после работы мужчина заходит в бар, чтобы выпить бокал пива. Бармена долго нету.
Мужчина: "Здесь кто нибуть работает?".
К нему подбегает девушка и говорит: "Я работаю!".
Мужчина осматривает её и говоит: "Ты слишком дешевая...".
Девушка не растерявшись: "А Вам нужна дорогая?".
Мужчина: "Дорогая у меня уже есть..."

спустя час...

Мужчина, закрывая за собой дверь квартиры: "Дорогая, я уже дома !"
 

Линк

Guest
Crazy, php (без encoder) все равно можно сломать.))))
так что инструкция private не помогла бы)


:D
 

StUV

Rotaredom
Crazy
тебе надо выложить где-нить в сети какой-нибудь краткий справочник по терминологии ООП и в подобных случаях первым делом отсылать на него =))))))))
 

Линк

Guest
Crazy, тоесть смысл инкапсуляции в том, что бы "не изменяя сырцов объекта, нельзя было получить доступ к закрытым переменным"

этакая защита от дурака))
 

Verk

Guest
Автор оригинала: Crazy
Я так понимаю, что возражения по существу вопроса исчерпаны? :)
Возражения с моей cтороны исчерпаны, т.к. я все что хотел сказать по данному вопросу уже сказал и флеймить без толку желания нет.
Да, в некоторой степени технически механизм инкапсуляции не реализован т.к. нет понятий public/private, с другой же стороны классы, имеющие место в php, более инкапсулированы в стилистическом смысле чем 'зборище функций'.
Спорить же с Вами, Crazy, когда вы постоянно берете идеализированную модель сферического коня в вакууме и рассматриваете ее в понятиях машины Фон Неймана, иногда просто невозможно.
 

гоша

Guest
бредовый флейм в ответ на бредовый вопрос.
так что всё логично.
 

Crazy

Developer
Автор оригинала: Verk
и флеймить бес толку желания нет.
Позволю себе усомниться, ибо твое предыдущее сообщение кроме флейма ничего в себе не несло. Ну да будем считать, что ты не хотел, но тебя заставили.

Да, в некоторой степени технически механизм инкапсуляции не реализован т.к. нет понятий public/private,
О. Прогресс. Я вижу, что мсье отличает механизм public/private от защиты программы от взлома через "*(int*)aa=777". Велика вероятность осмысленной дискуссии.

с другой же стороны классы, имеющие место в php, более инкапсулированы в стилистическом смысле чем 'зборище функций'.
Позволено ли спросить, в чем заключается большая степень инкспсуляции? Идет ли речь только о защите от замусоривания глобального пространства имен или мы имеем дело с чем-то более глубоким?

Вопрос достаточно корректен?

когда вы постоянно берете идиализированную модель сферического коня в вакууме и рассматриваете ее в понятиях машины Фон Неймана, иногда просто невозможно.
Какой гадкий наезд. :) Модель сферического коня хорошо описана другим моим оппонентом. Мне до этого -- как ползком до Китая. :)

P.S. Кстати, я давно логадываюсь, откуда на самом деле растут хвосты у фразы "в PHP есть инкапсуляция"... :)

-~{}~ 12.02.04 18:43:

Автор оригинала: Линк
бедный новичек, создавший тред
Если все это прочтет и поймет -- будет богатым. :)

-~{}~ 12.02.04 18:46:

Автор оригинала: Линк
этакая защита от дурака))
Может быть -- не так резко. :) Защита от небрежности. От ситуаций, когда в потроха лезут от мозговой лени.

Если инициативный дурак запустит отладчик и непосредственно в памяти поменяет значения атрибутов, то инкапсуляция от этого не защитит. Не для того сделана.
 
Сверху