SlideShare a Scribd company logo
1 of 21
sharkon.kz




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

                  Нефёдов Константин
Что такое ООП?


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

 объект      и     класс
Немного истории



Simula 67
Class
            Аристотель
Класс рыб
                         Класс птиц
Описание класса


Class Bird
             public class Bird {

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

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

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

Class Bird

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




Bird bird = new Bird()
Абстракция
Три кита ООП




                             НАСЛЕДОВАНИЕ
ПОЛИМОРФИЗМ




              ИНКАПСУЛЯЦИЯ
НАСЛЕДОВАНИЕ
        inheritance
НАСЛЕДОВАНИЕ
                   inheritance

Телефон
     Class Phone
                         IPhone
                     Class IPhone
НАСЛЕДОВАНИЕ
                                          inheritance



public class Phone {            public class Iphone extends Phone {
       /**
        * Конструктор класса          /**
        */                             * Конструктор класса
       public Phone() {                */
                                      public Iphone() {
       }
       //Номер телефона               }
       public String number;

}
                                }
ИНКАПСУЛЯЦИЯ
         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) Брюс Эккель
ВОПРОСЫ???
СПАСИБО ЗА ВНИМАНИЕ

More Related Content

Viewers also liked

Importance of maintaining healthy kidney
Importance of maintaining healthy kidneyImportance of maintaining healthy kidney
Importance of maintaining healthy kidneyTee Wool
 
The Digital CEO: Using Twitter
The Digital CEO:  Using TwitterThe Digital CEO:  Using Twitter
The Digital CEO: Using TwitterThe Argedia Group
 
Отношения между классами
Отношения между классамиОтношения между классами
Отношения между классамиitclub_kz
 
Обработка ошибок и исключений
Обработка ошибок и исключенийОбработка ошибок и исключений
Обработка ошибок и исключенийitclub_kz
 
Kepentingan mengekalkan ginjal yang sihat
Kepentingan mengekalkan ginjal yang sihatKepentingan mengekalkan ginjal yang sihat
Kepentingan mengekalkan ginjal yang sihatTee Wool
 
TRANSFORMER
TRANSFORMERTRANSFORMER
TRANSFORMERTee Wool
 
La gente que me gusta
La gente que me gustaLa gente que me gusta
La gente que me gustapaolaperez21
 
Magnetic Board Online
Magnetic Board OnlineMagnetic Board Online
Magnetic Board Onlineeduemmabloom
 
Ambulatory Blood Pressure Monitoring 1 CKD
Ambulatory Blood Pressure Monitoring 1 CKDAmbulatory Blood Pressure Monitoring 1 CKD
Ambulatory Blood Pressure Monitoring 1 CKDdhananjay ookalkar
 

Viewers also liked (10)

Importance of maintaining healthy kidney
Importance of maintaining healthy kidneyImportance of maintaining healthy kidney
Importance of maintaining healthy kidney
 
The Digital CEO: Using Twitter
The Digital CEO:  Using TwitterThe Digital CEO:  Using Twitter
The Digital CEO: Using Twitter
 
Отношения между классами
Отношения между классамиОтношения между классами
Отношения между классами
 
Case artifact
Case artifactCase artifact
Case artifact
 
Обработка ошибок и исключений
Обработка ошибок и исключенийОбработка ошибок и исключений
Обработка ошибок и исключений
 
Kepentingan mengekalkan ginjal yang sihat
Kepentingan mengekalkan ginjal yang sihatKepentingan mengekalkan ginjal yang sihat
Kepentingan mengekalkan ginjal yang sihat
 
TRANSFORMER
TRANSFORMERTRANSFORMER
TRANSFORMER
 
La gente que me gusta
La gente que me gustaLa gente que me gusta
La gente que me gusta
 
Magnetic Board Online
Magnetic Board OnlineMagnetic Board Online
Magnetic Board Online
 
Ambulatory Blood Pressure Monitoring 1 CKD
Ambulatory Blood Pressure Monitoring 1 CKDAmbulatory Blood Pressure Monitoring 1 CKD
Ambulatory Blood Pressure Monitoring 1 CKD
 

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

  • 1. sharkon.kz Объектно-ориентированное программирование Нефёдов Константин
  • 2. Что такое ООП? образ мышления, в котором основными понятиями являются объект и класс
  • 4. Class Аристотель Класс рыб Класс птиц
  • 5. Описание класса Class Bird public class Bird { /** * Конструктор класса * Запускается при создании экземпляра класса */ public Bird() { } /** * Максимальная скорость птицы */ public int maxSpeed; }
  • 6. Объект — экземпляр класса Class Bird bird
  • 9. Три кита ООП НАСЛЕДОВАНИЕ ПОЛИМОРФИЗМ ИНКАПСУЛЯЦИЯ
  • 11. НАСЛЕДОВАНИЕ inheritance Телефон Class Phone IPhone Class IPhone
  • 12. НАСЛЕДОВАНИЕ inheritance public class Phone { public class Iphone extends Phone { /** * Конструктор класса /** */ * Конструктор класса public Phone() { */ public Iphone() { } //Номер телефона } public String number; } }
  • 13. ИНКАПСУЛЯЦИЯ encapsulation
  • 14. ИНКАПСУЛЯЦИЯ encapsulation Class Car
  • 15. ИНКАПСУЛЯЦИЯ encapsulation public class Car { /** * Конструктор класса. Во время создания экземпляра автомобиля * необходимо указать его мощность в киловаттах */ public Car(int power) { //Вычисление мощности двигателя в лошадиных силах horsePower = power/ratio; } /** * Мощность двигателя в лошадиных силах. Модификатор доступа public * поскольку к данной переменной необходимо обращаться как внутри, * так и вне данного класса */ public double horsePower; /** * Коэфициент соотношения киловатт и лошадиных сил. Модификатор доступа private * поскольку данная переменная используется только внутри данного класса */ private double ratio = 0.735; }
  • 16. ПОЛИМОРФИЗМ Polymorphism от греч. πολὺ- — много, и μορφή — форма
  • 17. ПОЛИМОРФИЗМ Polymorphism Class TV
  • 18. ПОЛИМОРФИЗМ Polymorphism public class TV{ public void Show(){ ... } } public class PlasmaTV extends TV{ public void Show(){ ... } } public class RecordTV extends TV{ public void Show(){ ... } }