Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

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

Содержание

Агрегация и композицияВ реальном мире не существует объектов, не связанных с другими.
Объектно-ориентированное программированиеАгрегация и композиция Агрегация и композицияВ реальном мире не существует объектов, не связанных с другими. Основные отношения – наследование и ассоциация.Агрегация и композиция Ассоциации бывают различных видов (агрегация и композиция).Агрегация и композиция АссоциацииАссоциация показывает, что объекты одной сущности (класса) связаны с объектами другой сущности. Существует Ассоциацииа классы «человек» и «кофейный автомат» связаны однонаправленной. АссоциацииАссоциация на диаграмме обозначается линией без стрелки или со стрелкой. Обычно в АгрегацияАгрегация — это разновидность ассоциации при отношении между целым и его частями. АгрегацияАгрегация встречается, когда один класс является коллекцией или контейнером других. Причём по КомпозицияКомпозиция — более строгий вариант агрегации. Известна также как агрегация по значению. Композиция Различия между  композицией и агрегациейКомната является частью квартиры, следовательно здесь подходит Различия между  композицией и агрегациейА, например, мебель не является неотъемлемой частью Агрегация и композицияДопустим, существует некий класс Aclass A{ ...   } Агрегацияагрегацияclass B{	private A _a;	public B(A a) 	// Объект А живет где-то отдельно Композицияclass B{	private A _a = new A();	// Объект А существует только вместе с B} Класс CStation  class CStation  {    public string Класс CStation  CStation s1 = new CStation();  CStation s2 = Класс CTrain  class CTrain  {  public int n;//номер поезда Агрегация  	  static void Main(string[] args)    { Агрегация Композиция   class CTrain  {    public int Композиция    static void Main(string[] args)    { Композиция
Слайды презентации

Слайд 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)
// Объект

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

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

{
_a = a;
}
}

B

A


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

class B
{
private A _a = new A();
// Объект

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

А существует только вместе с B
}


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

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

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

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


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

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

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

s2.Print();


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

Класс CTrain class CTrain { public int n;//номер поезда  public

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); }
}

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

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

{

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();
}


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

Агрегация

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

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

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);

}


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

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

{

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();
}


  • Имя файла: obektno-orientirovannoe-programmirovanie-agregatsiya-i-kompozitsiya.pptx
  • Количество просмотров: 103
  • Количество скачиваний: 0