Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЛариса Старовойтова
1 ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) 1
2 ОСНОВНЫЕ ПОНЯТИЯ. КЛАСС. ОБЪЕКТ. Класс это описание объектов определенного типа. Класс модель ещё не существующей сущности (объекта) Объект это экземпляр класса. Пример: класс - вектор, объект – единичный вектор с координатами(1,0) 2
3 КЛАССЫ Детали реализации объекта скрыты, он используется через его интерфейс совокупность правил доступа. Это свойство – инкапсуляция !!! Преимущества ООП проявляются при использовании множества объектов одного класса. 3
4 ПРИМЕР ЗАДАНИЯ КЛАССА НА С# class Vector { double x, y; //Координаты public Vector(double x, double y) //Конструктор { this.x = x; this.y = y; } public double GetX() //Чтение x-координаты { return x; } //Чтение y-координаты public double GetY() { return y; } public static Vector operator +(Vector w, Vector v) //Перегрузка оператора + { Vector res = new Vector(w.x + v.x, w.y + v.y); return res; } // Напишите метод, возвращающий длину вектора public double Lenght() { } // Напишите метод возвращающий скалярное произведение public double Scalar(Vector w, Vector v) { //ваш код } 4
5 ПОЛЕ, МЕТОД Поле это переменная, принадлежащая объекту Метод - блок кода, содержащий набор инструкций class Vector { double x, y; //Координаты public Vector(double x, double y) //Конструктор { this.x = x; this.y = y; } // метод, возвращающий длину вектора public double Lenght() { } // Напишите метод возвращающий скалярное произведение public double Scalar(Vector w, Vector v) { //ваш код } 5
6 КОНСТРУКТОР Конструктор это метод класса, который вызывается для создания объекта этого класса. Если мы имеем public class myClass, то и конструктор, будет выглядеть так же: public myClass(int arg) {...}. Конструктор может не принимать переменных, а может принимать и ни одну. Конструктор вызывается автоматически при создании объекта класса с помощью операции new. Свойства конструкторов: Конструктор не возвращает значение, даже типа void. Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации. Если программист не указал какие-то поля, полям значимых типов присваивается нуль 6
7 КОНСТРУКТОР public class myClass { public int m; public int n; myClass()//конструктор не принимает значения { } myClass(int m)//конструктор принимает одно значение { this.m = m; } myClass(int m, int n)//конструктор принимает два значения { this.m = m; this.n = n; } 7
8 ВЫЗОВ КОНСТРУКТОРА … Vector a = new Vector(0.7, 0.7); Vector b = new Vector(1,0); Vector a = new Vector(0.7, 0.7, 0.7); … 8
9 СТАТИЧЕСКИЕ МЕТОДЫ Статические методы выполняются, даже если экземпляр класса не существует. Пример: метод pow() из класса Math - статический. Выражение Math.pow(x, y) вычисляет x^y. При выполнении своей задачи, этот метод не использует ни одного экземпляра класса Math. Т.е. он не имеет неявного параметра. В статических методах объект this не используется. Статические методы не работают с объектами; 9
10 ПРИНЦИПЫ ООП 1. Инкапсуляция 2. Наследование Новый класс создается на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом. Класс-наследник реализует спецификацию уже существующего класса (базовый класс) 3. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. 10
11 ПЕРЕГРУЗКА ОПЕРАТОРОВ Перегружаемые операторы Перегружаться могут только перечисленные ниже унарные и бинарные операторы. Пример унарных операторов: ++, true, false Бинарные операторы: +, -, *, /, %, ==, !=, >, =, <= 11
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.