Разделы презентаций


Объектно-ориентированное программирование

Содержание

Агрегация и композицияВ реальном мире не существует объектов, не связанных с другими.

Слайды и текст этой презентации

Слайд 1Объектно-ориентированное программирование
Агрегация и композиция

Объектно-ориентированное программированиеАгрегация и композиция

Слайд 2Агрегация и композиция
В реальном мире не существует объектов,
не связанных

с другими.



Агрегация и композицияВ реальном мире не существует объектов, не связанных с другими.

Слайд 3Основные отношения – наследование и ассоциация.


Агрегация и композиция

Основные отношения – наследование и ассоциация.Агрегация и композиция

Слайд 4Ассоциации бывают различных видов (агрегация и композиция).

Агрегация и композиция

Ассоциации бывают различных видов (агрегация и композиция).Агрегация и композиция

Слайд 5Ассоциации
Ассоциация показывает, что объекты одной сущности (класса) связаны с объектами

другой сущности.
 Существует пять различных типов ассоциации. Наиболее распространёнными являются двунаправленная

и однонаправленная.
Например, классы «рейс» и «самолёт» связаны двунаправленной ассоциацией.


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

Слайд 6Ассоциации
а классы «человек» и «кофейный автомат» связаны однонаправленной.


Ассоциацииа классы «человек» и «кофейный автомат» связаны однонаправленной.

Слайд 7Ассоциации
Ассоциация на диаграмме обозначается линией без стрелки или со стрелкой.

Обычно в ходе дальнейшего проектирования уточняется – агрегация или композиция.

АссоциацииАссоциация на диаграмме обозначается линией без стрелки или со стрелкой. Обычно в ходе дальнейшего проектирования уточняется –

Слайд 8Агрегация
Агрегация — это разновидность ассоциации при отношении между целым и

его частями.

АгрегацияАгрегация — это разновидность ассоциации при отношении между целым и его частями.

Слайд 9Агрегация
Агрегация встречается, когда один класс является коллекцией или контейнером других.

Причём по умолчанию, агрегацией называют агрегацию по ссылке, то есть

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

АгрегацияАгрегация встречается, когда один класс является коллекцией или контейнером других. Причём по умолчанию, агрегацией называют агрегацию по

Слайд 10Композиция
Композиция — более строгий вариант агрегации. Известна также как агрегация

по значению.
 
Композиция имеет жёсткую зависимость времени существования экземпляров класса контейнера

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

Слайд 11Различия между композицией и агрегацией
Комната является частью квартиры, следовательно здесь

подходит композиция, потому что комната без квартиры существовать не может.



Различия между  композицией и агрегациейКомната является частью квартиры, следовательно здесь подходит композиция, потому что комната без

Слайд 12Различия между композицией и агрегацией
А, например, мебель не является неотъемлемой

частью квартиры, но в то же время, квартира содержит мебель,

поэтому следует использовать агрегацию.

Различия между  композицией и агрегациейА, например, мебель не является неотъемлемой частью квартиры, но в то же

Слайд 13Агрегация и композиция
Допустим, существует некий класс A

class A
{
...


}

Агрегация и композицияДопустим, существует некий класс Aclass A{ ...   }

Слайд 14Агрегация
агрегация
class B
{
private A _a;
public B(A a)
// Объект А живет

где-то отдельно
// (суть не в конструкторе)
{

_a = a;
}
}

B

A

Агрегацияагрегацияclass B{	private A _a;	public B(A a) 	// Объект А живет где-то отдельно 	// (суть не в конструкторе)

Слайд 15Композиция

class B
{
private A _a = new A();
// Объект А существует

только вместе с B
}

Композицияclass B{	private A _a = new A();	// Объект А существует только вместе с B}

Слайд 16Класс CStation
class CStation
{

public string name; // название станции
public

CStation()
{
name = "Станция 0";
}
public CStation(string name)
{
this.name = name;
}
public void Print()
{
Console.WriteLine("Станция - " + name);
}
~CStation()
{
Console.WriteLine("Уничтожена станция " + name);
}
}

Класс CStation  class CStation  {    public string name; // название станции

Слайд 17Класс CStation
CStation s1 = new CStation();
CStation

s2 = new CStation("Москва");
s1.Print();
s2.Print();

Класс CStation  CStation s1 = new CStation();  CStation s2 = new CStation(

Слайд 18Класс CTrain
class CTrain
{ public int

n;//номер поезда
public CStation st;// станция назначения

public CTrain()
{ n = 0;
st = null;
}
public CTrain(int n, CStation st)
{ this.n = n;
this.st = st;
}
public void Print()
{ Console.WriteLine("Поезд № " + n + " до станции - " + st.name); }
~CTrain()
{ Console.WriteLine("Удаление поезда " + n); }
}
Класс CTrain  class CTrain  {  public int n;//номер поезда    public CStation

Слайд 19Агрегация
static void Main(string[] args)

{
CStation s1 =

new CStation();
CStation s2 = new CStation("Москва");
s1.Print();
s2.Print();
CTrain tr1 = new CTrain(100,s2);
tr1.Print();
CTrain tr2 = new CTrain(200, s2);
tr2.Print();
CTrain tr3 = new CTrain(3200, s1);
tr3.Print();
}

Агрегация  	  static void Main(string[] args)    {

Слайд 20Агрегация

Агрегация

Слайд 21Композиция
class CTrain
{

public int n;//номер поезда
public CStation st;//

станция назначения
public CTrain()
{
n = 0;
st = new CStation("Станция 0");
}
public CTrain(int n, string str)
{
this.n = n;
this.st = new CStation(str);
}
public void Print()
{
Console.WriteLine("Поезд № " + n + " до станции - " + st.name);

}

Композиция   class CTrain  {    public int n;//номер поезда

Слайд 22Композиция
static void Main(string[] args)

{
CStation s1 =

new CStation();
CStation s2 = new CStation("Москва");
s1.Print();
s2.Print();
CTrain tr1 = new CTrain(100,"Санкт-Петербург");
tr1.Print();
CTrain tr2 = new CTrain(200, "Санкт-Петербург");
tr2.Print();
CTrain tr3 = new CTrain();
tr3.Print();
}

Композиция    static void Main(string[] args)    {

Слайд 23Композиция

Композиция

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика