Основы объектно-ориентированного программирования

Post on 23-Dec-2014

1.172 views 4 download

description

 

Transcript of Основы объектно-ориентированного программирования

Объектно-ориентированное программирование

Нефёдов Константин

sharkon.kz

образ мышления, в котором основными понятиями являются

объект и класс

Что такое ООП?

Simula 67

Немного истории

Аристотель

Класс рыб Класс птиц

Class

Описание класса

public class Bird {

/** * Конструктор класса * Запускается при создании экземпляра класса */public Bird() {}

/** * Максимальная скорость птицы */public int maxSpeed;

}

Class Bird

Объект — экземпляр класса

Class Bird

bird

Рождение нового объекта

Bird bird = new Bird()

Абстракция

Три кита ООП

ИНКАПСУЛЯЦИЯ

НА

СЛ

ЕД

ОВ

АН

ИЕП

ОЛ

ИМ

ОР

ФИ

ЗМ

НАСЛЕДОВАНИЕinheritance

НАСЛЕДОВАНИЕinheritance

ТелефонClass Phone

IPhoneClass IPhone

encapsulationИНКАПСУЛЯЦИЯ

encapsulationИНКАПСУЛЯЦИЯ

Class Car

encapsulationИНКАПСУЛЯЦИЯ

public class Car {

/** * Конструктор класса. Во время создания экземпляра автомобиля * необходимо указать его мощность в киловаттах */public Car(int power) {

//Вычисление мощности двигателя в лошадиных силахhorsePower = power/ratio;

}

/** * Мощность двигателя в лошадиных силах. Модификатор доступа public * поскольку к данной переменной необходимо обращаться как внутри, * так и вне данного класса */public double horsePower;

/** * Коэфициент соотношения киловатт и лошадиных сил. Модификатор доступа private * поскольку данная переменная используется только внутри данного класса */private double ratio = 0.735;

}

ПОЛИМОРФИЗМPolymorphism

от греч. πολὺ- — много, и μορφή — форма

ПОЛИМОРФИЗМPolymorphism

Class TV

ПОЛИМОРФИЗМPolymorphism

public class TV{ public void Show(){

... }} public class PlasmaTV extends TV{

public void Show(){...

}}

public class RecordTV extends TV{ public void Show(){

... }}

ЛИТЕРАТУРА

Thincking in JAVA(Философия JAVA) Брюс Эккель

ВОПРОСЫ???

СПАСИБО ЗА ВНИМАНИЕ