🗊Презентация Принципы объектно-ориентированного проектирования

Нажмите для полного просмотра!
Принципы объектно-ориентированного проектирования, слайд №1Принципы объектно-ориентированного проектирования, слайд №2Принципы объектно-ориентированного проектирования, слайд №3Принципы объектно-ориентированного проектирования, слайд №4Принципы объектно-ориентированного проектирования, слайд №5Принципы объектно-ориентированного проектирования, слайд №6Принципы объектно-ориентированного проектирования, слайд №7Принципы объектно-ориентированного проектирования, слайд №8Принципы объектно-ориентированного проектирования, слайд №9Принципы объектно-ориентированного проектирования, слайд №10Принципы объектно-ориентированного проектирования, слайд №11Принципы объектно-ориентированного проектирования, слайд №12Принципы объектно-ориентированного проектирования, слайд №13Принципы объектно-ориентированного проектирования, слайд №14Принципы объектно-ориентированного проектирования, слайд №15Принципы объектно-ориентированного проектирования, слайд №16Принципы объектно-ориентированного проектирования, слайд №17Принципы объектно-ориентированного проектирования, слайд №18Принципы объектно-ориентированного проектирования, слайд №19Принципы объектно-ориентированного проектирования, слайд №20Принципы объектно-ориентированного проектирования, слайд №21Принципы объектно-ориентированного проектирования, слайд №22Принципы объектно-ориентированного проектирования, слайд №23Принципы объектно-ориентированного проектирования, слайд №24Принципы объектно-ориентированного проектирования, слайд №25Принципы объектно-ориентированного проектирования, слайд №26Принципы объектно-ориентированного проектирования, слайд №27Принципы объектно-ориентированного проектирования, слайд №28Принципы объектно-ориентированного проектирования, слайд №29Принципы объектно-ориентированного проектирования, слайд №30Принципы объектно-ориентированного проектирования, слайд №31Принципы объектно-ориентированного проектирования, слайд №32Принципы объектно-ориентированного проектирования, слайд №33Принципы объектно-ориентированного проектирования, слайд №34Принципы объектно-ориентированного проектирования, слайд №35Принципы объектно-ориентированного проектирования, слайд №36Принципы объектно-ориентированного проектирования, слайд №37Принципы объектно-ориентированного проектирования, слайд №38Принципы объектно-ориентированного проектирования, слайд №39

Содержание

Вы можете ознакомиться и скачать презентацию на тему Принципы объектно-ориентированного проектирования. Доклад-сообщение содержит 39 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Принципы объектно-ориентированного проектирования
Описание слайда:
Принципы объектно-ориентированного проектирования

Слайд 2


Принципы объектно-ориентированного проектирования, слайд №2
Описание слайда:

Слайд 3


Принципы объектно-ориентированного проектирования, слайд №3
Описание слайда:

Слайд 4


Принципы объектно-ориентированного проектирования, слайд №4
Описание слайда:

Слайд 5


Принципы объектно-ориентированного проектирования, слайд №5
Описание слайда:

Слайд 6





Принципы объектно-ориентированного программирования
Принцип единственной ответственности
Принцип открытости / закрытости
Принцип подстановки Лисков
Принцип изоляции интерфейса
Принцип инверсии зависимостей
Описание слайда:
Принципы объектно-ориентированного программирования Принцип единственной ответственности Принцип открытости / закрытости Принцип подстановки Лисков Принцип изоляции интерфейса Принцип инверсии зависимостей

Слайд 7





Принцип единственной ответственности
Только потому, что Вы можете, еще не значит, что вы должны это сделать
Описание слайда:
Принцип единственной ответственности Только потому, что Вы можете, еще не значит, что вы должны это сделать

Слайд 8





Пример
class Network {
    byte[] receiveByTcp() {
    }

    byte[] receiveByUdp() {
    }

    void sendByTcp(byte[] data) {
    }

    void sendByUdp(byte[] data) {
    }
}
Описание слайда:
Пример class Network { byte[] receiveByTcp() { } byte[] receiveByUdp() { } void sendByTcp(byte[] data) { } void sendByUdp(byte[] data) { } }

Слайд 9





Пример
class TcpNetwork {
    byte[] receive() {
    }

    void send(byte[] data) {
    }
}

class UdpNetwork {
    byte[] receive() {
    }

    void send(byte[] data) {
    }
}
Описание слайда:
Пример class TcpNetwork { byte[] receive() { } void send(byte[] data) { } } class UdpNetwork { byte[] receive() { } void send(byte[] data) { } }

Слайд 10





class TcpNetworkReceiver {
class TcpNetworkReceiver {
    byte[] receive() {
    }
}
class TcpNetworkSender {
    void send(byte[] data) {
    }
}
class UdpNetworkReceiver {
    byte[] receive() {
    }
}
class UdpNetworkSender {
    void send(byte[] data) {
    }
}
Описание слайда:
class TcpNetworkReceiver { class TcpNetworkReceiver { byte[] receive() { } } class TcpNetworkSender { void send(byte[] data) { } } class UdpNetworkReceiver { byte[] receive() { } } class UdpNetworkSender { void send(byte[] data) { } }

Слайд 11





Принцип открытости\закрытости
Для того, чтобы одеть пальто, не нужно вскрывать грудную клетку
Описание слайда:
Принцип открытости\закрытости Для того, чтобы одеть пальто, не нужно вскрывать грудную клетку

Слайд 12





class TcpNetwork {
class TcpNetwork {

    byte[] receive() {
    }

    void send(byte[] data) {
    }

}
Описание слайда:
class TcpNetwork { class TcpNetwork { byte[] receive() { } void send(byte[] data) { } }

Слайд 13





class TcpNetwork {
class TcpNetwork {
    byte[] receive() {
    }

    void send(byte[] data) {
    }

    String receiveString() {
        return new String(receive(), “UTF-8”);
    }

    void send(String data) {
        send(data.getBytes(“UTF-8”));
    }
}
Описание слайда:
class TcpNetwork { class TcpNetwork { byte[] receive() { } void send(byte[] data) { } String receiveString() { return new String(receive(), “UTF-8”); } void send(String data) { send(data.getBytes(“UTF-8”)); } }

Слайд 14





class StringTcpNetwork extends TcpNetwork {
class StringTcpNetwork extends TcpNetwork {

    String receiveString() {
        return new String(receive(), “UTF-8”);
    }

    void send(String data) {
        send(data.getBytes(“UTF-8”));
    }

}
Описание слайда:
class StringTcpNetwork extends TcpNetwork { class StringTcpNetwork extends TcpNetwork { String receiveString() { return new String(receive(), “UTF-8”); } void send(String data) { send(data.getBytes(“UTF-8”)); } }

Слайд 15





Принцип подстановки Лисков
Если оно выглядит, как утка, квакает, как утка, но требует батарейки, возможно, у Вас проблема с абстракцией
Описание слайда:
Принцип подстановки Лисков Если оно выглядит, как утка, квакает, как утка, но требует батарейки, возможно, у Вас проблема с абстракцией

Слайд 16





public class Fibonacci {
public class Fibonacci {

    int a = 0;
    int b = 1;

    int getNumber() {
        int c = a + b;
        a = b;
        b = c;
        return b;
    }

}
Описание слайда:
public class Fibonacci { public class Fibonacci { int a = 0; int b = 1; int getNumber() { int c = a + b; a = b; b = c; return b; } }

Слайд 17





public class Main {
public class Main {

    public static vois main(String[] args) {

        Fibonacci f = new Fibonacci();

        for(int n = 1; n <= 50; n++) {
            int m = f.getNumber();
            System.out.println(m);
        }

    }

}
Описание слайда:
public class Main { public class Main { public static vois main(String[] args) { Fibonacci f = new Fibonacci(); for(int n = 1; n <= 50; n++) { int m = f.getNumber(); System.out.println(m); } } }

Слайд 18





public class Fibonacci implements Iterator {
public class Fibonacci implements Iterator {

    int a = 0;
    int b = 1;

    int next() {
        int c = a + b;
        a = b;
        b = c;
        return b;
    }

}
Описание слайда:
public class Fibonacci implements Iterator { public class Fibonacci implements Iterator { int a = 0; int b = 1; int next() { int c = a + b; a = b; b = c; return b; } }

Слайд 19





public class Main {
public class Main {

    public static vois main(String[] args) {

        Fibonacci f = new Fibonacci();

        while(f.hasNext()) {
            int m = f.next();
            System.out.println(m);
        }

    }

}
Описание слайда:
public class Main { public class Main { public static vois main(String[] args) { Fibonacci f = new Fibonacci(); while(f.hasNext()) { int m = f.next(); System.out.println(m); } } }

Слайд 20





public class Fibonacci implements Iterator {
public class Fibonacci implements Iterator {
    /*...*/
    int next() { /*...*/ }
    boolean hasNext() { /*...*/ }
    void setAmount(int n) { /*...*/ }
}
Описание слайда:
public class Fibonacci implements Iterator { public class Fibonacci implements Iterator { /*...*/ int next() { /*...*/ } boolean hasNext() { /*...*/ } void setAmount(int n) { /*...*/ } }

Слайд 21





public class Main {
public class Main {
    public static vois main(String[] args) {

        Fibonacci f = new Fibonacci();
        f.setAmount(50);

        while(f.hasNext()) {
            int m = f.next();
            System.out.println(m);
        }

    }
}
Описание слайда:
public class Main { public class Main { public static vois main(String[] args) { Fibonacci f = new Fibonacci(); f.setAmount(50); while(f.hasNext()) { int m = f.next(); System.out.println(m); } } }

Слайд 22





public class Fibonacci implements Iterator,
public class Fibonacci implements Iterator,
                                  Iterable {
    /*...*/
    int next() { /*...*/ }
    boolean hasNext() { /*...*/ }
    void setAmount(int n) { /*...*/ }

    Iterator iterator() {
        return this;
    }

}
Описание слайда:
public class Fibonacci implements Iterator, public class Fibonacci implements Iterator, Iterable { /*...*/ int next() { /*...*/ } boolean hasNext() { /*...*/ } void setAmount(int n) { /*...*/ } Iterator iterator() { return this; } }

Слайд 23





public class Main {
public class Main {
    public static vois main(String[] args) {

        Fibonacci f = new Fibonacci();
        f.setAmount(50);

        for(int m : f) {
            System.out.println(m);
        }

    }
}
Описание слайда:
public class Main { public class Main { public static vois main(String[] args) { Fibonacci f = new Fibonacci(); f.setAmount(50); for(int m : f) { System.out.println(m); } } }

Слайд 24





public class Fibonacci implements Iterator,
public class Fibonacci implements Iterator,
                                  Iterable {

    Fibonacci(int n) { /*...*/ }

    /*...*/
    int next() { /*...*/ }
    boolean hasNext() { /*...*/ }

    Iterator iterator() {
        return this;
    }

}
Описание слайда:
public class Fibonacci implements Iterator, public class Fibonacci implements Iterator, Iterable { Fibonacci(int n) { /*...*/ } /*...*/ int next() { /*...*/ } boolean hasNext() { /*...*/ } Iterator iterator() { return this; } }

Слайд 25





Принцип изоляции интерфейса
Вы хотите чтобы я подключил это? Куда?
Описание слайда:
Принцип изоляции интерфейса Вы хотите чтобы я подключил это? Куда?

Слайд 26





public class Fibonacci
public class Fibonacci
                      implements Iterator<Integer> {

    public boolean hasNext() {
        return false;
    }

    public Integer next() {
        return null;
    }

    public void remove() {
    }

}
Описание слайда:
public class Fibonacci public class Fibonacci implements Iterator<Integer> { public boolean hasNext() { return false; } public Integer next() { return null; } public void remove() { } }

Слайд 27





interface Matrix {
interface Matrix {

    public int size();

    public double get(int i, int j);

    public void set(int i, int j, double value);

}
Описание слайда:
interface Matrix { interface Matrix { public int size(); public double get(int i, int j); public void set(int i, int j, double value); }

Слайд 28





public class UsualMatrix implements Matrix {
public class UsualMatrix implements Matrix {
    private double a[][];
    public UsualMatrix(int size) {
        a = new double[size][size];
    }
    public int size() {
        return a.length;
    }
    public double get(int i, int j) {
        return a[i][j];
    }
    public void set(int i, int j, double value) {
        a[i][j] = value;
    }
}
Описание слайда:
public class UsualMatrix implements Matrix { public class UsualMatrix implements Matrix { private double a[][]; public UsualMatrix(int size) { a = new double[size][size]; } public int size() { return a.length; } public double get(int i, int j) { return a[i][j]; } public void set(int i, int j, double value) { a[i][j] = value; } }

Слайд 29





public class SimmMatrix implements Matrix {
public class SimmMatrix implements Matrix {
    private double a[][];
    public SimmMatrix(int size) {
        a = new double[size][];
        for(int i = 0; i < size; i++) {
            a[i] = new double[i+1];
        }
    }
    public int size() {
        return a.length;
    }
Описание слайда:
public class SimmMatrix implements Matrix { public class SimmMatrix implements Matrix { private double a[][]; public SimmMatrix(int size) { a = new double[size][]; for(int i = 0; i < size; i++) { a[i] = new double[i+1]; } } public int size() { return a.length; }

Слайд 30





    public double get(int i, int j) {
    public double get(int i, int j) {
        if(i < j) {
            return a[i][j];
        } else {
            return a[j][i];
        }
    }
    public void set(int i, int j, double value) {
        if(i < j) {
            a[i][j] = value;
        } else {
            a[j][i] = value;
        }
    }
}
Описание слайда:
public double get(int i, int j) { public double get(int i, int j) { if(i < j) { return a[i][j]; } else { return a[j][i]; } } public void set(int i, int j, double value) { if(i < j) { a[i][j] = value; } else { a[j][i] = value; } } }

Слайд 31





public class EMatrix implements Matrix {
public class EMatrix implements Matrix {
    private int size;
    public EMatrix(int size) {
        this.size = size;
    }
    public int size() {
        return size;
    }
    public double get(int i, int j) {
        return i == j ? 1 : 0;
    }
    public void set(int i, int j, double value) {
    }
}
Описание слайда:
public class EMatrix implements Matrix { public class EMatrix implements Matrix { private int size; public EMatrix(int size) { this.size = size; } public int size() { return size; } public double get(int i, int j) { return i == j ? 1 : 0; } public void set(int i, int j, double value) { } }

Слайд 32





public class SummMatrix implements Matrix {
public class SummMatrix implements Matrix {
    private Matrix a, b;
    public SummMatrix(Matrix a, Matrix b) {
        this.a = a;
        this.b = b;
    }
    public int size() {
        return a.size;
    }
    public double get(int i, int j) {
        return a.get(i, j) + b.get(i, j);
    }
    public void set(int i, int j, double value) {
    }
}
Описание слайда:
public class SummMatrix implements Matrix { public class SummMatrix implements Matrix { private Matrix a, b; public SummMatrix(Matrix a, Matrix b) { this.a = a; this.b = b; } public int size() { return a.size; } public double get(int i, int j) { return a.get(i, j) + b.get(i, j); } public void set(int i, int j, double value) { } }

Слайд 33





interface Matrix {
interface Matrix {

    public int size();

    public double get(int i, int j);

}

interface MutableMatrix extends Matrix {

    public void set(int i, int j, double value);

}
Описание слайда:
interface Matrix { interface Matrix { public int size(); public double get(int i, int j); } interface MutableMatrix extends Matrix { public void set(int i, int j, double value); }

Слайд 34





Принцип инверсии зависимостей
Будете ли Вы подключать лампочку непосредственно к электропроводке в стене?
Описание слайда:
Принцип инверсии зависимостей Будете ли Вы подключать лампочку непосредственно к электропроводке в стене?

Слайд 35





public class MyApplet extends JApplet {
public class MyApplet extends JApplet {
    public paint(Graphics g) {
        /*...*/
    }
}
Описание слайда:
public class MyApplet extends JApplet { public class MyApplet extends JApplet { public paint(Graphics g) { /*...*/ } }

Слайд 36





public class MyMatrix {
public class MyMatrix {
    private int r[][];
    private int g[][];
    private int b[][];
    public MyMatrix(int w, int h) {
        r = new int[h][w];
        g = new int[h][w];
        b = new int[h][w];
    }
    /*...*/
}
Описание слайда:
public class MyMatrix { public class MyMatrix { private int r[][]; private int g[][]; private int b[][]; public MyMatrix(int w, int h) { r = new int[h][w]; g = new int[h][w]; b = new int[h][w]; } /*...*/ }

Слайд 37





public class Point {
public class Point {
    public int r, g, b;
}
public class PictureMatrix {
    private Point p[][];
    public PictureMatrix(int w, int h) {
        p = new Point[h][w];
    }
    /*...*/
}
Описание слайда:
public class Point { public class Point { public int r, g, b; } public class PictureMatrix { private Point p[][]; public PictureMatrix(int w, int h) { p = new Point[h][w]; } /*...*/ }

Слайд 38





public class Point {
public class Point {
    public int r, g, b;
}
interface PictureMatrix {
    Point get(int i, int j);
    int width();
    int height();
}
public class PictureMatrixImpl1
                          implements PictureMatrix {
    /*...*/
}
public class PictureMatrixImpl2
                          implements PictureMatrix {
    /*...*/
}
Описание слайда:
public class Point { public class Point { public int r, g, b; } interface PictureMatrix { Point get(int i, int j); int width(); int height(); } public class PictureMatrixImpl1 implements PictureMatrix { /*...*/ } public class PictureMatrixImpl2 implements PictureMatrix { /*...*/ }

Слайд 39





public class MyApplet extends JApplet {
public class MyApplet extends JApplet {
    private PictureMatrix pm = null;
    public void paint(Graphics g) {
        for(int i = 0; i < pm.height(); i++) {
            for(int j = 0; j < pm.height(); j++) {
                out(pm.get(i, j).r,
                    pm.get(i, j).g,
                    pm.get(i, j).b);
            }
        }
    }
    public void init() {
        pm = new PictureMatrixImpl1();
    }
}
Описание слайда:
public class MyApplet extends JApplet { public class MyApplet extends JApplet { private PictureMatrix pm = null; public void paint(Graphics g) { for(int i = 0; i < pm.height(); i++) { for(int j = 0; j < pm.height(); j++) { out(pm.get(i, j).r, pm.get(i, j).g, pm.get(i, j).b); } } } public void init() { pm = new PictureMatrixImpl1(); } }



Похожие презентации
Mypresentation.ru
Загрузить презентацию