ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) 1.

Презентация:



Advertisements
Похожие презентации
Лекция 2: Описание класса 1. Поля 2. Методы 3. Конструкторы.
Advertisements

Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Объектно-ориентированное программирование Объектно-ориентированное программирование (ООП) - основная методология программирования. Она является продуктом.
Статические поля класса Статические поля хранят данные, общие для всех элементов класса. Статическое поле существует в единственном экземпляре для всех.
Инкапсуляция полей и констант в языке C# (1) Поле: - инициализация факультативна, однако запрещен доступ к полям и методам того же типа; - поля структуры.
Прикладное программирование кафедра прикладной и компьютерной оптики Полиморфизм.
Лекция 3 Принципы объектно- ориентированного программирования.
Основы ООП и C# Работа с объектами и классами. Классы Класс специальный тип данных для описания объектов. Он определяет данные и поведение типа. Определение.
EPAM Systemswww.epam.com EPAM Systemswww.epam.com Программирование на языке C# Основы ООП.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
Принципы объектно-ориентированного программирования Объектная модель Наследование Инкапсуляция Полиморфизм.
Методология объектно- ориентированного программирования.
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
Высокоуровневые методы информатики и программирования Лекция 8 Свойства и операции классов.
С# и ООП Формальное определение класса с C# Класс в C# - это пользовательский тип данных (user defined type), который состоит из данных (часто называемых.
1 Методы Java Методы класса – это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне,
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Лекция 13. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Транксрипт:

ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) 1

ОСНОВНЫЕ ПОНЯТИЯ. КЛАСС. ОБЪЕКТ. Класс это описание объектов определенного типа. Класс модель ещё не существующей сущности (объекта) Объект это экземпляр класса. Пример: класс - вектор, объект – единичный вектор с координатами(1,0) 2

КЛАССЫ Детали реализации объекта скрыты, он используется через его интерфейс совокупность правил доступа. Это свойство – инкапсуляция !!! Преимущества ООП проявляются при использовании множества объектов одного класса. 3

ПРИМЕР ЗАДАНИЯ КЛАССА НА С# 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

ПОЛЕ, МЕТОД Поле это переменная, принадлежащая объекту Метод - блок кода, содержащий набор инструкций 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

КОНСТРУКТОР Конструктор это метод класса, который вызывается для создания объекта этого класса. Если мы имеем public class myClass, то и конструктор, будет выглядеть так же: public myClass(int arg) {...}. Конструктор может не принимать переменных, а может принимать и ни одну. Конструктор вызывается автоматически при создании объекта класса с помощью операции new. Свойства конструкторов: Конструктор не возвращает значение, даже типа void. Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации. Если программист не указал какие-то поля, полям значимых типов присваивается нуль 6

КОНСТРУКТОР 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

ВЫЗОВ КОНСТРУКТОРА … 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

СТАТИЧЕСКИЕ МЕТОДЫ Статические методы выполняются, даже если экземпляр класса не существует. Пример: метод pow() из класса Math - статический. Выражение Math.pow(x, y) вычисляет x^y. При выполнении своей задачи, этот метод не использует ни одного экземпляра класса Math. Т.е. он не имеет неявного параметра. В статических методах объект this не используется. Статические методы не работают с объектами; 9

ПРИНЦИПЫ ООП 1. Инкапсуляция 2. Наследование Новый класс создается на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом. Класс-наследник реализует спецификацию уже существующего класса (базовый класс) 3. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. 10

ПЕРЕГРУЗКА ОПЕРАТОРОВ Перегружаемые операторы Перегружаться могут только перечисленные ниже унарные и бинарные операторы. Пример унарных операторов: ++, true, false Бинарные операторы: +, -, *, /, %, ==, !=, >, =, <= 11