20
Объектно-ориентированное программирование Нефёдов Константин sharkon.kz

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

Embed Size (px)

DESCRIPTION

 

Citation preview

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

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

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

sharkon.kz

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

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

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

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

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

Simula 67

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

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

Аристотель

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

Class

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

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

public class Bird {

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

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

}

Class Bird

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

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

Class Bird

bird

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

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

Bird bird = new Bird()

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

Абстракция

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

Три кита ООП

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

НА

СЛ

ЕД

ОВ

АН

ИЕП

ОЛ

ИМ

ОР

ФИ

ЗМ

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

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

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

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

ТелефонClass Phone

IPhoneClass IPhone

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

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

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

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

Class Car

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

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

public class Car {

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

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

}

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

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

}

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

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

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

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

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

Class TV

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

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

public class TV{ public void Show(){

... }} public class PlasmaTV extends TV{

public void Show(){...

}}

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

... }}

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

ЛИТЕРАТУРА

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

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

ВОПРОСЫ???

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

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