ООП. Основные принципы ООП презентация

Содержание

Функциональный подход List: content content content remove(pointer, index) add(pointer, index, newVar) pointer function function

Слайд 1ООП


Слайд 2Функциональный подход
List:
content
content
content
remove(pointer, index)
add(pointer, index, newVar)
pointer
function
function


Слайд 3Object

private
field
field
field
method
method
method
method
public


Слайд 4Объектный подход
List:
private:
Sth

public:
add(object)
remove(object)
remove(index)
get(index)
contains(object)
size()
private:
Sth


Слайд 5Class
Class
private:
field1;
field2;

public:
getField1();
getField2();
doSth();
Object
private:

“value”;
null;

public:
getField1();
getField2();
doSth();

Слайд 6Основные принципы ООП
инкапсуляция
полиморфизм
наследование


Слайд 7Описание классов
package com.company;
public class A {
private String str;
public String getStr() {

return str; }
public void setStr(String str) { this.str = str }
public void doSth() { }
public A() { }
public A(String str) {
this.str = str;
}
}

Слайд 8Области видимости


Слайд 9Конструкторы
По умолчанию / без параметров
Конструкторы с параметрами
Закрытые конструкторы (singleton)


Слайд 10Создание объектов
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass(param1, param2);


Слайд 12Нет деструкторов!


Слайд 13Static
public static void main(String… args) {

}


Слайд 14Д/з
public class Calc {

public double[] solveSqrl(int a, int b, int c)

{ }

public long fibonacciNumberLoop(int n) { }

public long fibonacciNumberRecursive(int n) { }
}

public static void main(String... args) {
Calc c = new Calc();
//переписать с условным оператором, выводить в зависимости от полученного результата
System.out.println(c.solveSqrl(1, 2, 1));
//
System.out.println(c.fibonacciNumberLoop(100));
System.out.println(c.fibonacciNumberRecursive(100));
}

*Реализовать класс матриц с методами сложения, умножения и транспонирования

Слайд 15Полиморфизм
Перегрузка функций

void func(int param);
void func(double param);
void func(int param1, int param 2);
int

func(String str);

Переопределение функций
будет после наследования

Слайд 16Наследование
Наследование
Композиция
Интерфейсы


Слайд 17Class: Point
public class Point {

private int x = 0;
private int y

= 0;

public Point(int x, int y) {
this.x = x;
this.y = y;
}

public void draw() {}
}

Слайд 18Наследование
public class ColorPoint extends Point {

private Color color;

@Override
public void draw(){}

public

ColorPoint(int x, int y, Color color) {
super(x,y);
this.color = color;
}
}

Слайд 19Множественное наследование
Class A
method doSth
Class B
method doSth
Class C
method doSth
Class BC
??? method doSth


Слайд 20Модификаторы доступа
public
private
protected
default


Слайд 21Виртуальные функции
public class Animal {
public String say() {

return "I'm animal"; }
}

Слайд 22Виртуальные функции
public class Cat extends Animal { @Override public

String say() { return "meow"; } }

Слайд 23Виртуальные функции
public class Main { public static void main(String[] args)

{ Animal animal = new Cat(); System.out.println(animal.say()); } }

Слайд 24Композиция
public class Circle {

private Point center;
private int radius;

public void draw(){}
}


Слайд 25Интерфейсы
public interface Drawable {
void draw();
}

public class Line impliments Drawable, Clonable {

public void draw() { }
}

Drawable d = new Line();
d.draw();

Слайд 26Принятые правила создания классов
1 class = 1 file
1 file

строк
1 class = одна задача, не перегружайте логикой

Слайд 27Правила именования
Переменные и методы с маленькой буквы
Классы с заглавной
Только английские слова

(не транслит!!!)
Названия формируются «верблюжьим правилом»
URL -> url; public URL -> publicUrl
Названия должны быть понятными
Ctrl + alt + L

Слайд 28Д/з
Переделать Calculator с BigDecimal и BigInteger и сравнить скорость выполнения рекурсивной

функции с циклической

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика