Главная страница
Навигация по странице:

  • Что произойдет, если аргументы нашего конструктора будут не a и b, а x и y

  • Что такое Линия

  • Чем неудобна данная реализация

  • Лабораторная работа 1 Создание простых классов


    Скачать 17.01 Kb.
    НазваниеЛабораторная работа 1 Создание простых классов
    Дата02.06.2019
    Размер17.01 Kb.
    Формат файлаdocx
    Имя файла1089c319ec55dbc44d7740bde6e9490ebcb76e76.docx
    ТипЛабораторная работа
    #80004

    Лабораторная работа №1

    Создание простых классов.

    Создавая класс, разработчик должен понимать, что не создает код программы, а разрабатывает структуру и модель поведения какого-либо объекта, который ему будет необходим при дальнейшей разработки программы.

    Создавая класс, мы оперируем абстрактными значениями (если мы создаем класс «человек», мы не создаем конкретную личность, а создаем шаблон этой личности.).

    Для того, чтобы создать класс Visual Studio

    1. Нажимаем правой кнопкой мыши по нашему проекту.

    2. В появившемся меню выбираем пункт Добавить – Класс

    3. В появившемся окне указываем имя класса, например, Point.cs.

    Так как мы создаем класс Point (точку), то нам необходимо задать те свойства, которые присуще точке, это координаты по х и координаты по y.
    class Point

    {

    public int x;

    public int y;

    }

    Public- означает, что свойство или метод общедоступно (также возможно значение private и protected, если данное слово опустить, то считается, что указан тип private)

    Int – свойство является целым числом

    Теперь для того, чтобы создать точку в своей программе, мы можем написать следующий код.

    Point p = new Point(); //(1)

    p.x = 10;

    p.y = 5;

    Данный код создает точку с именем р и координатой 10;5

    Первая строчка данного примера (1) отвечает за создание переменной типа Point, путем вызова конструктора класса Point. В нашем классе на данный момент конструктор не создан, поэтому в строке (1) вызывается конструктор по умолчанию.

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

    Добавим свой конструктор в данный класс.

    Создание конструктора ничем не отличается от создания функций, кроме 2-х исключений:

    1. Конструктор- это функция, которая называется точно так же как и класс

    2. У конструктора не указывается тип возвращаемого значения.

    Так как мы работаем с классом точка, то для ее создания нам необходимо знать 2 координаты, значит наш конструктор, должен принимать 2 аргумента.

    class Point

    {

    public int x;

    public int y;
    public Point (int a, int b)

    {

    x = a;

    y = b;

    }
    }

    Теперь, для того, чтобы создать точку, мы можем написать следующий код

    Point p = new Point(10, 5);

    В нашем конструкторе a и b это аргументы и они доступны только в рамках той функции, аргументами, которой они являются. X и Y это свойства класса, поэтому мы можем использовать их в любой функции данного класса


    Что произойдет, если аргументы нашего конструктора будут не a и b, а x и y?

    class Point

    {

    public int x;

    public int y;
    public Point (int x, int y)

    {

    x = x;

    y = y;

    }
    }

    Visual Studio напишет нам ошибку в выделенных строчках, связана она с тем, что внутри функции х и y –это и аргументы функции и свойства класса. Мы должны явно показать, какие из этих переменных являются свойствами класса. Делается это путем приписывания к данной переменной ключевого слова this
    class Point

    {

    public int x;

    public int y;
    public Point (int x, int y)

    {

    this.x = x;

    this.y = y;

    }
    }

    Теперь Visual studio понимает какая переменная за что отвечает.

    Создадим еще один класс Line (Линия)

    Для этого повторим шаги 1-3


    Что такое Линия?

    Линия- это набор из 2-х точек.

    Точка же–это 2-е координаты. Таким образом по сути линия-это 4 координаты.

    class Line

    {

    public int x1;

    public int y1;

    public int x2;

    public int y2;
    }


    Чем неудобна данная реализация?

    В предыдущей части, мы реализовали класс Точка, тем самым мы создали новый тип данных, который можем использовать при необходимости. Тем самым нашу Линию можно реализовать следующим образом:

    class Line

    {

    public Point start;

    public Point end;

    }

    Задание:

    1.Напишите конструктор класса Line

    2.Реализуйте класс прямоугольник и эллипс.


    написать администратору сайта