Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Связи в Объектно Орентированном Программировании c#

#c_sharp #ооп


Всем привет:)
Друзья, подскажите пожалуйста, если Я передаю ссылку на объект в метод, какая это связь? 

public void Method(MyClass my) // какая связь?
{
    //..
}


Если можно скиньте ссылки!   

Композиция - всё ясно.

public class ElectricEngine { }

public class Car
{
    ElectricEngine engine;
    public Car()
    {
        engine = new ElectricEngine();
    }
}


Агрегация

public abstract class Engine
{ }

public class Car
{
    Engine engine;
    public Car(Engine eng)
    {
        engine = eng;
    }
}


Ассоциация

class Team
{

}
class Player
{
    public Team Team { get; set; }
}


Наследование и реализация - тоже не вызывают проблем)
    


Ответы

Ответ 1



Это зависимость. Вообще, я не встречал четкого определения для связи "Зависимость", но во многх источниках под ней подразумевают два случая. Параметер в методе public void Method(MyClass my) { // ... } Создание локальной переменной public void Method() { MyClass my = new MyClass(); // ... } Если брать UML, то в нем определены еще конкретные зависимости: call, create, use и т.п.

Комментариев нет:

Отправить комментарий