# data[].attributes.body
Механизм, который объединяет данные и код, манипулирующий этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования. В объектно-ориентированном программировании код и данные могут быть объединены вместе; в этом случае говорят, что создаётся так называемый "чёрный ящик". Когда коды и данные объединяются таким способом, создаётся объект (object). Другими словами, объект - это то, что поддерживает инкапсуляцию.

# data[].attributes.body
Свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Целью полиморфизма, применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий. Выполнение каждого конкретного действия будет определяться типом данных.

# data[].attributes.body
Процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Наследование является важным, поскольку оно позволяет поддерживать концепцию иерархии классов (hierarchical classification). Применение иерархии классов делает управляемыми большие потоки информации. Например, подумайте об описании жилого дома. Дом - это часть общего класса, называемого строением.

# data[].attributes.body
class PositiveInteger
{
   private int value; // backing store
   public int Value
   {
      get { return value; }
      set
      {
         if (value <= 0) throw new ArgumentException("Value should be positive");
         value = value;
      }
   }
}

# data[].attributes.body
class Derived : Base
{
   public override void Foo()
   {
      Console.WriteLine("I'm a Foo method in class Derived");
   }
   new public void Bar()
   {
      Console.WriteLine("I'm a Bar method in class Derived");
   }
}

# data[].attributes.body
class Test
{
   static void Main(string[] args)
   {
      Base a = new Base();
      a.Foo();
      a.Bar();

      Derived b = new Derived();
      b.Foo();
      b.Bar();

      Base c = b;
      c.Foo();
      c.Bar();
   }
}

# data[].attributes.headline
Пример из жизни

# data[].attributes.subject
Пример из жизни

# data[].attributes.body
К примеру, несколько портов, которыми мы пользуемся часто в повседневной жизни, один порт, который был создан недавно, и он вышел из моды, но причем тут наследование?
Можно отнести несколько фактов:

1) Те самые порты могут быть в тех или новых устройствах, они могут быть новой версии или старые

2)Хоть порты и выглядят по разному, но если к примеру можно приобрести спец разъем для таких старых устройств, то вероятность работоспособности будет велика

3)Они могут быть стандартами, в большинстве устройств

# data[].attributes.headline
Пример из жизни

# data[].attributes.subject
Пример из жизни

# data[].attributes.body
У нас есть телефон ( кнопочный ), у которого есть функция звонков , но есть такой некий стереотип, как просто они могут позвонить, и отправлять сообщения, бывают и такие модели, что через них можно слушать радио, делать фото, да в плохом качестве, но возможность все же есть, но причем тут этот пример, а то из-за стереотипа, появляется такой момент, некое ограничение функций в телефоне, и причиной тому, некие стереотипы

# data[].attributes.headline
Пример в программировании

# data[].attributes.subject
Пример в программировании

# data[].attributes.body
наследование реализует отношение is-a (является)

# data[].attributes.headline
Пример из жизни

# data[].attributes.subject
Пример из жизни

# data[].attributes.body
Можно считать, что это общее, к примеру можно отнести к животным, они имеет несколько популяций, как млекопитающие, верно, они все тоже животные, вот вам и пример

# data[].attributes.headline
Пример в программировании

# data[].attributes.subject
Пример в программировании

# data[].attributes.body
private поля класса

# data[].attributes.headline
Пример из информатики

# data[].attributes.subject
Пример из информатики

# data[].attributes.body
Animal pet = new Cat();

Примерно то, о чем я писал выше

# data[].attributes.headline
Картинка-пример

# data[].attributes.subject
Картинка-пример

# data[].attributes.headline
Картинка-пример

# data[].attributes.subject
Картинка-пример

# data[].attributes.headline
Картинка-пример

# data[].attributes.subject
Картинка-пример