Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Классы (http://forum.oszone.net/showthread.php?t=250923)

COM-BAT 08-01-2013 15:37 2061824

Классы
 
Обясните пожалуста что записивается в public а что в private ?

deviance 08-01-2013 17:20 2061885

COM-BAT, в private записываются, например, переменные которые не должны быть модифицированы напрямую или функции, которые вызываться извне не должны. В public - все остальное.
Например, класс, описывающий строку, может выглядеть так:
Код:

class String
{
public:
        char* Get(void);
        char* New( char* str );
        char* Append( char* str);
private:
        char*  str;
        size_t size;
};

В public - функции, которые манипулируют переменными из private.
В private - переменные, присваивать значение которым напрямую нежелательно, чтобы не нарушить работу.

Beyound 08-01-2013 18:12 2061926

public, protected и private - это модификаторы, указывающие, кто имеет доступ к переменным и функциям класса. Наличие этих модификаторов связано с понятниями наследования и дружбы.
MSDN нереально рулит
кстати, в с# их будет побольше.
а помещают туда обычно то, что должно быть скрыто от внешнего вызова, чтения, записи и т.п. Скажем, если необдуманное изменение какойто переменной класса может привести к краху, то целесообразно закрыть доступ к ее непосредственному изменению и создать public функцию, которая умеет грамотно менять этот параметр.

torauma 09-01-2013 09:20 2062266

Цитата:

Цитата Beyound
Наличие этих модификаторов связано с понятниями наследования и дружбы. »

Не совсем. public и private относятся к понятию инкапсуляции. Один из базовых принципов ООП - внутренняя структура объекта должна быть скрыта от пользователя (в смысле того, кто использует класс в своих программах). В public описывается интерфейс класса, а в private - внутренняя структура.
Цитата:

Цитата Beyound
MSDN нереально рулит »

Но не следует забывать, что это именно MSDN. Полностью доверять этому источнику можно только при разработке под Windows и используя средства разработки от MS.

Delirium 11-01-2013 15:43 2064305

Если еще проще, то при создании функций класса(сейчас я говорю про C#), всё, что не нужно видеть извне класса, делаем Private. А функции, которые будут использоваться извне, делаем Public.


Время: 06:57.

Время: 06:57.
© OSzone.net 2001-