🗊Презентация Отношения между классами. Клиенты и наследники

Нажмите для полного просмотра!
Отношения между классами. Клиенты и наследники, слайд №1Отношения между классами. Клиенты и наследники, слайд №2Отношения между классами. Клиенты и наследники, слайд №3Отношения между классами. Клиенты и наследники, слайд №4Отношения между классами. Клиенты и наследники, слайд №5Отношения между классами. Клиенты и наследники, слайд №6Отношения между классами. Клиенты и наследники, слайд №7Отношения между классами. Клиенты и наследники, слайд №8Отношения между классами. Клиенты и наследники, слайд №9Отношения между классами. Клиенты и наследники, слайд №10Отношения между классами. Клиенты и наследники, слайд №11Отношения между классами. Клиенты и наследники, слайд №12Отношения между классами. Клиенты и наследники, слайд №13Отношения между классами. Клиенты и наследники, слайд №14Отношения между классами. Клиенты и наследники, слайд №15Отношения между классами. Клиенты и наследники, слайд №16Отношения между классами. Клиенты и наследники, слайд №17Отношения между классами. Клиенты и наследники, слайд №18Отношения между классами. Клиенты и наследники, слайд №19Отношения между классами. Клиенты и наследники, слайд №20Отношения между классами. Клиенты и наследники, слайд №21Отношения между классами. Клиенты и наследники, слайд №22Отношения между классами. Клиенты и наследники, слайд №23Отношения между классами. Клиенты и наследники, слайд №24Отношения между классами. Клиенты и наследники, слайд №25Отношения между классами. Клиенты и наследники, слайд №26Отношения между классами. Клиенты и наследники, слайд №27Отношения между классами. Клиенты и наследники, слайд №28Отношения между классами. Клиенты и наследники, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Отношения между классами. Клиенты и наследники. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Отношения между классами. Клиенты и наследники.
Лекция 13
Описание слайда:
Отношения между классами. Клиенты и наследники. Лекция 13

Слайд 2





Отношения между классами: наследование
class User
{
    public int Id { get; set; }
    public string Name { get; set; }
}
 
class Manager : User
{
    public string Company{ get; set; }
}
Описание слайда:
Отношения между классами: наследование class User {     public int Id { get; set; }     public string Name { get; set; } }   class Manager : User {     public string Company{ get; set; } }

Слайд 3





Отношения между классами : Реализация
public interface IMovable
{
    void Move();
}
public class Car : IMovable
{
    public void Move()
    {
        Console.WriteLine("Машина едет");
    }
}
Описание слайда:
Отношения между классами : Реализация public interface IMovable {     void Move(); } public class Car : IMovable {     public void Move()     {         Console.WriteLine("Машина едет");     } }

Слайд 4





Отношения между классами : Ассоциация
class Team
{
 
}
class Player
{
    public Team Team { get; set; }
}
Описание слайда:
Отношения между классами : Ассоциация class Team {   } class Player {     public Team Team { get; set; } }

Слайд 5





Отношения между классами : Композиция
public class ElectricEngine
{ }
 
public class Car
{
    ElectricEngine engine;
    public Car()
    {
        engine = new ElectricEngine();
    }
}
Описание слайда:
Отношения между классами : Композиция public class ElectricEngine { }   public class Car {     ElectricEngine engine;     public Car()     {         engine = new ElectricEngine();     } }

Слайд 6





Отношения между классами : Агрегация
public abstract class Engine
{ }
 
public class Car
{
    Engine engine;
    public Car(Engine eng)
    {
        engine = eng;
    }
}
Описание слайда:
Отношения между классами : Агрегация public abstract class Engine { }   public class Car {     Engine engine;     public Car(Engine eng)     {         engine = eng;     } }

Слайд 7





Наследование
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.
Описание слайда:
Наследование Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.

Слайд 8





Наследование
Однако наследование является транзитивным. Если ClassC является производным от ClassB, и ClassB является производным от ClassA, ClassC наследует члены, объявленные в ClassB и ClassA.
Описание слайда:
Наследование Однако наследование является транзитивным. Если ClassC является производным от ClassB, и ClassB является производным от ClassA, ClassC наследует члены, объявленные в ClassB и ClassA.

Слайд 9





Наследование
Класс, члены которого наследуются, называется базовым классом, а класс, который наследует эти члены, называется производным классом. Производный класс может иметь только один непосредственный базовый класс. 
Описание слайда:
Наследование Класс, члены которого наследуются, называется базовым классом, а класс, который наследует эти члены, называется производным классом. Производный класс может иметь только один непосредственный базовый класс. 

Слайд 10





Наследование
[атрибуты]
[модификаторы] class Имя_класса : [родитель]
{
}
Описание слайда:
Наследование [атрибуты] [модификаторы] class Имя_класса : [родитель] { }

Слайд 11





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

Слайд 12





Конструктор базового типа
Необходимо обращаться к ключевому слову base, которое находит двоякое применение: 
для вызова конструктора базового класса; 
для доступа к члену базового класса, скрывающегося за членом производного класса.
Описание слайда:
Конструктор базового типа Необходимо обращаться к ключевому слову base, которое находит двоякое применение: для вызова конструктора базового класса; для доступа к члену базового класса, скрывающегося за членом производного класса.

Слайд 13





Конструктор базового типа
конструктор_производного_класса(список_параметров) : base (список_аргументов) 
{
// тело конструктора
}
Описание слайда:
Конструктор базового типа конструктор_производного_класса(список_параметров) : base (список_аргументов) { // тело конструктора }

Слайд 14





namespace ConsoleApplication1
namespace ConsoleApplication1
{
    class MyClass
    {
        public int x, y, z;
        // Конструктор базового класса
        public MyClass(int x, int y, int z)
        {
            this.x = x;
            this.y = y;
            this.z = z;
        }
    }
 
    
    
 
Описание слайда:
namespace ConsoleApplication1 namespace ConsoleApplication1 { class MyClass { public int x, y, z; // Конструктор базового класса public MyClass(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } }    

Слайд 15





class ClassA : MyClass
class ClassA : MyClass
    {
        int point;
 
        // Конструктор производного класса
        public ClassA(int point, int x, int y, int z)
            : base(x, y, z)
        {
            this.point = point;
        }
 
        public void Pointer(ClassA obj)
        {
            obj.x *= obj.point;
            obj.y *= obj.point;
            obj.z *= obj.point;
            Console.WriteLine("Новые координаты объекта: {0} {1} {2}", obj.x, obj.y, obj.z);
        }
    }
 
Описание слайда:
class ClassA : MyClass class ClassA : MyClass { int point;   // Конструктор производного класса public ClassA(int point, int x, int y, int z) : base(x, y, z) { this.point = point; }   public void Pointer(ClassA obj) { obj.x *= obj.point; obj.y *= obj.point; obj.z *= obj.point; Console.WriteLine("Новые координаты объекта: {0} {1} {2}", obj.x, obj.y, obj.z); } }  

Слайд 16





class Program
class Program
    {
        static void Main()
        {
            ClassA obj = new ClassA(10, 1, 4, 3);
            Console.WriteLine("Координаты объекта: {0} {1} {2}", obj.x, obj.y, obj.z);
            obj.Pointer(obj);
            Console.ReadLine();
        }
    }
}
Описание слайда:
class Program class Program { static void Main() { ClassA obj = new ClassA(10, 1, 4, 3); Console.WriteLine("Координаты объекта: {0} {1} {2}", obj.x, obj.y, obj.z); obj.Pointer(obj); Console.ReadLine(); } } }

Слайд 17





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

Слайд 18





Наследование и сокрытие имен
 class MyClass    {        
public int x = 10, y = 5, z = 6;    
}     
class ClassA : MyClass    {        // Скрываем члены класса MyClass        
public new int x = 12, y = -2, z = -5;            }
Описание слайда:
Наследование и сокрытие имен class MyClass { public int x = 10, y = 5, z = 6; }  class ClassA : MyClass { // Скрываем члены класса MyClass public new int x = 12, y = -2, z = -5; }

Слайд 19





Абстрактные и виртуальные методы
Когда базовый класс объявляет метод как виртуальный, производный класс может переопределить метод с помощью своей собственной реализации. 
Если базовый класс объявляет член как абстрактный, то этот метод должен быть переопределен в любом неабстрактном классе, который прямо наследует от этого класса. 
Описание слайда:
Абстрактные и виртуальные методы Когда базовый класс объявляет метод как виртуальный, производный класс может переопределить метод с помощью своей собственной реализации.  Если базовый класс объявляет член как абстрактный, то этот метод должен быть переопределен в любом неабстрактном классе, который прямо наследует от этого класса. 

Слайд 20





Абстрактные и виртуальные методы
Если производный класс сам является абстрактным, то он наследует абстрактные члены, не реализуя их. 
Абстрактные и виртуальные члены являются основой для полиморфизма.
Описание слайда:
Абстрактные и виртуальные методы Если производный класс сам является абстрактным, то он наследует абстрактные члены, не реализуя их.  Абстрактные и виртуальные члены являются основой для полиморфизма.

Слайд 21





Абстрактные базовые классы
Можно объявить класс как абстрактный, если необходимо предотвратить прямое создание экземпляров с помощью ключевого слова new. При таком подходе класс можно использовать, только если новый класс является производным от него. 
Описание слайда:
Абстрактные базовые классы Можно объявить класс как абстрактный, если необходимо предотвратить прямое создание экземпляров с помощью ключевого слова new. При таком подходе класс можно использовать, только если новый класс является производным от него. 

Слайд 22


Отношения между классами. Клиенты и наследники, слайд №22
Описание слайда:

Слайд 23


Отношения между классами. Клиенты и наследники, слайд №23
Описание слайда:

Слайд 24


Отношения между классами. Клиенты и наследники, слайд №24
Описание слайда:

Слайд 25





Доступ к членам базового класса из класса-наследника

Мы можем получить доступ к членам базового класса которые объявлены как public, protected, internal и protected internal. Члены базового класса с модификатором доступа private также переходят в класс-наследник, но к ним могут иметь доступ только члены базового класса.
Описание слайда:
Доступ к членам базового класса из класса-наследника Мы можем получить доступ к членам базового класса которые объявлены как public, protected, internal и protected internal. Члены базового класса с модификатором доступа private также переходят в класс-наследник, но к ним могут иметь доступ только члены базового класса.

Слайд 26





Задача
Разработать программу с использованием наследования классов и виртуальных функций реализующую классы:
графический объект;(площадь = 0)
круг;
квадрат.
В каждом объекте должен быть метод вывода на экран площади и координат(реализовать с использование виртуальных функций). Создайте массив из ссылок на базовый класс. Инициализируйте элементы массива различными объектами и выведите на экран их площадь и координаты.
Описание слайда:
Задача Разработать программу с использованием наследования классов и виртуальных функций реализующую классы: графический объект;(площадь = 0) круг; квадрат. В каждом объекте должен быть метод вывода на экран площади и координат(реализовать с использование виртуальных функций). Создайте массив из ссылок на базовый класс. Инициализируйте элементы массива различными объектами и выведите на экран их площадь и координаты.

Слайд 27


Отношения между классами. Клиенты и наследники, слайд №27
Описание слайда:

Слайд 28


Отношения между классами. Клиенты и наследники, слайд №28
Описание слайда:

Слайд 29


Отношения между классами. Клиенты и наследники, слайд №29
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию