Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Encapsulation




A class typically represents the characteristics of a thing, and the actions that it can perform. For example, to represent an animal as a C# class, you might give it a size, speed, and strength represented as numbers, and some functions such as MoveLeft(), MoveRight(), SpeedUp(), Stop() and so on, in which you would write the code to make your "animal" perform those actions. In C#, your animal class would look like this:

public class Animal { private int size; private float speed; private int strength;   public void MoveLeft() // method { // code goes here... }   // other methods go here... }

If you browse through the.NET Framework Class Library, you will see that each class represents a "thing," such as an XmlDocument, a String, a Form, and that each thing has various actions that it can perform (methods), characteristics that you can read and perhaps modify (properties) and notifications (events) that it sends out when it performs some given action. The methods, properties and events, along with all the other internal variables and constants (fields), are referred to as the members of the class.

Grouping members together into classes is not only logical, it also enables you to hide data and functions that you do not want other code to have access to. This principle is known as encapsulation. When you browse the.NET Framework class libraries, you are seeing only the public members of those classes. Each class probably also has private members that are used internally by that class or classes related to it, but are not meant to be used by applications. When you create your own classes, you will decide which members should be public, and which should be private.


Инкапсуляция

Обычно класс определяет характеристики объекта и выполняемые им действия. Например, чтобы определить класс животного в C#, необходимо задать ему размер, скорость и силу, представленными в виде чисел, а также некоторые функции, например MoveLeft(), MoveRight(), SpeedUp(), Stop() и так далее, в которых можно написать код для выполнения "животным" этих действий. В C# класс животного может выглядеть следующим образом.

public class Animal { private int size; private float speed; private int strength; public void MoveLeft() // method { // code goes here... } // other methods go here... }

При знакомстве с.NET Framework Class Library будет ясно, что каждый класс представляет собой "нечто", например XmlDocument, String, Form, и для каждого такого "нечто" существуют различные действия, которые оно может выполнить (методы), характеристики, которые можно прочитать и изменить (свойства), и уведомления (события), формируемые при совершении тех или иных действий. Методы, свойства и события, а также все остальные внутренние переменные и постоянные характеристики (поля) называются членами класса.

Группировка членов в классы имеет не только логический смысл, она также позволяет скрывать данные и функции, которые должны быть недоступны для другого кода. Этот принцип называют инкапсуляцией. При использовании классов из библиотек платформы.NET Framework будут видны только открытые члены этих классов. Каждый класс может иметь закрытые члены, используемые либо только внутри этого класса, либо определенными связанными с ним классами. Закрытые члены не предназначены для использования приложениями, использующими сам класс. Создавая собственные классы, нужно решить, какие члены будут открытыми, а какие — закрытыми.





Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 334; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.