Введение в Объектно-ориентированное программирование
Введение в Объектно-ориентированное программирование
Урок посвящен введению в новую идеологию программирования. Рассказаны общие принципы идеологии ООП. Дано краткое описание класса и практическое задание по разработке класса
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Введение в Объектно-ориентированное программирование»
Есть два пути писать безошибочные программы. И только третий правильный.
– Организация Освобождения Палестины.
ООП
Объектно-ориентированное программирование - приехал на объект, сориентировался и начал программировать.
Поколения языков высокого уровня
Структу́рное программи́рование ( декларативная парадигма программирования ) — методология разработки ПО, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э́дсгером Ви́бе Дейкстрой, разработана и дополнена Н.Виртом.
В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы; ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия; цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.
Повторяющиеся фрагменты программы могут оформляться в виде подпрограмм. В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы . При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается со следующей за командой вызова подпрограммы.
Литература:
Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++
Мартин Дрейер. C# для школьников http://www.teachvideo.ru/download/c_sharp2.pdf
Гербердт Шилдт. C# 4.0. Полное руководство
Байдачный С.С. книги как по C# так и по .NET Framework
Объектно-ориентированное программирование
Проблема объектно-ориентированных языков в том, что они тащат с собой всё своё неявное окружение.
Вам нужен был банан – а вы получаете гориллу с бананом, и целые джунгли впридачу.Джо Армстронг, в интервью Coders at Work
Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
— методология разработки ПО, в основе которой лежит следующий набор основных принципов:
Всё является объектом.
Вычисления осуществляются путём взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
Каждый объект имеет независимую память, которая состоит из других объектов.
Каждый объект является представителем класса, который выражает общие свойства объектов (например, все целые числа имеют общие свойства).
В классе задаётся поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.
Классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования. Память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Тип данных Колесо {
поле резина;
поле диск;
}
Тип данных Автомобиль {
поле число_дверей;
поле объем_двигателя;
поле марка;
поле модель;
поле колесо;
...
}
От структуры к классу
Класс Автомобиль
{
...
поле марка;
поле модель;
...
функция ДляПрайсЛиста ( )
{
вернуть марка + " " + модель;
}
}
Класс — это некий шаблон, описание не только самой структуры данных (чего там может или должно быть), но и поведения, функциональных возможностей объектов этого класса.
Объект класса — это переменная этого класса, которая содержит конкретные данные и работает в соответствии с описанной в классе функциональностью .
Краткие положения и основные понятия парадигмы ООП:
Если есть определенный объект , с которым должна работать программа, то необходимо создать некоторое описание, представляющее такой объект - класс .
Каждый класс вещей включает нужные нам характеристикиобъектов – поля класса .
Объект может выполнять действия . В этом случае необходимо дать описание этого действия ( методы класса ) - набор пошаговых инструкций, определяющих порядок выполнения конкретных действий.
При определении класса объявляются данные, который он содержит, и код, работающий с этими данными.
Кратко о всем вышесказанном:
Во всех объектно-ориентированных языках четко различаются понятия «класс» и «объект».
Класс – это определяемый пользователем тип данных, его можно представить себе как чертеж, по которому строятся сами данные, т.е. объекты (экземпляры) класса.
Основная идея ООП – объединение данных и обрабатывающих их функций в единое целое.
Объявляя объект (экземпляр класса), мы сразу имеем информацию о том, какие характеристики и действия будут у нашего объекта.
class Myclass
{
public int i;
public float x;
public float f()
{
return i*x;
}
}
Классы и объекты
В C# создание объектов класса происходит с помощью операции new.
Myclass a1;
a1 = new Myclass();
Или сразу Myclass a2 = new Myclass();
Доступ к членам класса осуществляется с помощью операции точка «.»
a1.x = 7; //полю х объекта a1 присвоено значение 7.
// вызов метода f, вызванного для объекта а1.
float rez = a1.f();
Простейший пример работы с классом:
class example
{
public int x;
public float[] d = new float[2];
public float summa()
{
int i; float z=0;
for (i=0; i
return z;
}
}
class Program
{
static void Main()
{
example a = new example();
a.x=2;
a.d[0]=8; a.d[1]=2;
Console.WriteLine("Сумма={0}“, a. summa() );
Console.ReadLine();
}
Практическое задание:
Создать класс point3D, реализующий возможности работы с координатами точки в трехмерном пространстве.
Класс должен содержать:
три поля – координаты x,y,z точки в трехмерном пространстве
метод, сдвигающий точку на введенное пользователем расстояние по соответствующей оси
Пользователь вводит сначала по какой оси надо сдвинуть точку (соответственно ось x, ось y, ось z), а потом уже расстояние, на которое ее надо сдвинуть
метод, обеспечивающий вывод координат точки на экран
метод, обеспечивающий вывод координат точки на экран