Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

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

Содержание

C/C++AssemblerJavaHTMLCSSXMLJavaScriptPHPSQLHTTPVCLWinAPIPOSIXFTPPOP3SMTPActionScriptVBA
Принципы объектно-ориентированного проектирования C/C++AssemblerJavaHTMLCSSXMLJavaScriptPHPSQLHTTPVCLWinAPIPOSIXFTPPOP3SMTPActionScriptVBA C/C++AssemblerJavaHTMLCSSXMLJavaScriptPHPSQLHTTPVCLWinAPIPOSIXFTPPOP3SMTPActionScriptVBA императивноепрограммированиеструктурноепрограммированиепроцедурноепрограммированиефункциональноепрограммированиеобъектно-ориентированноепрограммирование императивноепрограммированиеструктурноепрограммированиепроцедурноепрограммированиефункциональноепрограммированиеобъектно-ориентированноепрограммирование Принципы объектно-ориентированного программированияПринцип единственной ответственностиПринцип открытости / закрытостиПринцип подстановки ЛисковПринцип изоляции интерфейсаПринцип инверсии зависимостей Принцип единственной ответственностиТолько потому, что Вы можете, еще не значит, что вы должны это сделатьS Примерclass Network {  byte[] receiveByTcp() {  }  byte[] receiveByUdp() Примерclass TcpNetwork {  byte[] receive() {  }  void send(byte[] class TcpNetworkReceiver {  byte[] receive() {  }}class TcpNetworkSender { Принцип открытости\закрытостиДля того, чтобы одеть пальто, не нужно вскрывать грудную клеткуO class TcpNetwork {  byte[] receive() {  }  void send(byte[] data) {  }}Пример class TcpNetwork {  byte[] receive() {  }  void send(byte[] class StringTcpNetwork extends TcpNetwork {  String receiveString() { Принцип подстановки ЛисковЕсли оно выглядит, как утка, квакает, как утка, но требует public class Fibonacci {  int a = 0;  int b public class Main {  public static vois main(String[] args) { public class Fibonacci implements Iterator {  int a = 0; public class Main {  public static vois main(String[] args) { public class Fibonacci implements Iterator {  /*...*/  int next() { public class Main {  public static vois main(String[] args) { public class Fibonacci implements Iterator, public class Main {  public static vois main(String[] args) { public class Fibonacci implements Iterator, Принцип изоляции интерфейсаВы хотите чтобы я подключил это? Куда?I public class Fibonacci interface Matrix {  public int size();  public double get(int i, public class UsualMatrix implements Matrix {  private double a[][];  public public class SimmMatrix implements Matrix {  private double a[][];  public public double get(int i, int j) { public class EMatrix implements Matrix {  private int size;  public public class SummMatrix implements Matrix {  private Matrix a, b; interface Matrix {  public int size();  public double get(int i, Принцип инверсии зависимостейБудете ли Вы подключать лампочку непосредственно к электропроводке в стене?D public class MyApplet extends JApplet {  public paint(Graphics g) { public class MyMatrix {  private int r[][];  private int g[][]; public class Point {  public int r, g, b;}public class PictureMatrix public class Point {  public int r, g, b;}interface PictureMatrix { public class MyApplet extends JApplet {  private PictureMatrix pm = null;
Слайды презентации

Слайд 2 C/C++
Assembler
Java
HTML
CSS
XML
JavaScript
PHP
SQL
HTTP
VCL
WinAPI
POSIX
FTP
POP3
SMTP
ActionScript
VBA

C/C++AssemblerJavaHTMLCSSXMLJavaScriptPHPSQLHTTPVCLWinAPIPOSIXFTPPOP3SMTPActionScriptVBA

Слайд 3 C/C++
Assembler
Java
HTML
CSS
XML
JavaScript
PHP
SQL
HTTP
VCL
WinAPI
POSIX
FTP
POP3
SMTP
ActionScript
VBA

C/C++AssemblerJavaHTMLCSSXMLJavaScriptPHPSQLHTTPVCLWinAPIPOSIXFTPPOP3SMTPActionScriptVBA

Слайд 4 императивное
программирование
структурное
программирование
процедурное
программирование
функциональное
программирование
объектно-ориентированное
программирование

императивноепрограммированиеструктурноепрограммированиепроцедурноепрограммированиефункциональноепрограммированиеобъектно-ориентированноепрограммирование

Слайд 5 императивное
программирование
структурное
программирование
процедурное
программирование
функциональное
программирование
объектно-ориентированное
программирование

императивноепрограммированиеструктурноепрограммированиепроцедурноепрограммированиефункциональноепрограммированиеобъектно-ориентированноепрограммирование

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

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

подстановки Лисков
Принцип изоляции интерфейса
Принцип инверсии зависимостей


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

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

не значит, что вы должны это сделать
S


Слайд 8 Пример
class Network {
byte[] receiveByTcp() {

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

}

byte[] receiveByUdp() {
}

void

sendByTcp(byte[] data) {
}

void sendByUdp(byte[] data) {
}
}

Слайд 9 Пример
class TcpNetwork {
byte[] receive() {

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

}

void send(byte[] data) {
}
}

class UdpNetwork

{
byte[] receive() {
}

void send(byte[] data) {
}
}

Слайд 10 class TcpNetworkReceiver {
byte[] receive() {

class TcpNetworkReceiver { byte[] receive() { }}class TcpNetworkSender { void send(byte[]

}
}
class TcpNetworkSender {
void send(byte[] data) {

}
}
class UdpNetworkReceiver {
byte[] receive() {
}
}
class UdpNetworkSender {
void send(byte[] data) {
}
}

Пример


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

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

вскрывать грудную клетку
O


Слайд 12 class TcpNetwork {

byte[] receive() {

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

}

void send(byte[] data) {
}

}
Пример


Слайд 13 class TcpNetwork {
byte[] receive() {

class TcpNetwork { byte[] receive() { } void send(byte[] data) {

}

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 {

String receiveString()

class StringTcpNetwork extends TcpNetwork { String receiveString() {  return new

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

}

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

}

Пример


Слайд 15 Принцип подстановки Лисков
Если оно выглядит, как утка, квакает,

Принцип подстановки ЛисковЕсли оно выглядит, как утка, квакает, как утка, но

как утка, но требует батарейки, возможно, у Вас проблема

с абстракцией

L


Слайд 16 public class Fibonacci {

int a =

public class Fibonacci { int a = 0; int b =

0;
int b = 1;

int getNumber()

{
int c = a + b;
a = b;
b = c;
return b;
}

}

Пример


Слайд 17 public class Main {

public static vois

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

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 {

int

public class Fibonacci implements Iterator { int a = 0; int

a = 0;
int b = 1;

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

}

Пример


Слайд 19 public class Main {

public static vois

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

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() { /*...*/

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

{ /*...*/ }
void setAmount(int n) { /*...*/ }
}

Пример


Слайд 21 public class Main {
public static vois

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

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;
}

}

Пример


Слайд 23 public class Main {
public static vois

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

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;
}

}

Пример


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

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

Куда?
I


Слайд 26 public class Fibonacci

public class Fibonacci      implements Iterator {

implements Iterator {

public boolean hasNext() {
return false;
}

public Integer next() {
return null;
}

public void remove() {
}

}

Пример


Слайд 27 interface Matrix {

public int size();

interface Matrix { public int size(); public double get(int i, int

public double get(int i, int j);

public void

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

}

Пример


Слайд 28 public class UsualMatrix implements Matrix {
private

public class UsualMatrix implements Matrix { private double a[][]; public UsualMatrix(int

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 {
private

public class SimmMatrix implements Matrix { private double a[][]; public SimmMatrix(int

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 <

{
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 {
private

public class EMatrix implements Matrix { private int size; public EMatrix(int

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 {
private

public class SummMatrix implements Matrix { private Matrix a, b; public

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 {

public int size();

interface Matrix { public int size(); public double get(int i, int

public double get(int i, int j);

}

interface MutableMatrix extends Matrix

{

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

}

Пример


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

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

к электропроводке в стене?
D


Слайд 35 public class MyApplet extends JApplet {
public

public class MyApplet extends JApplet { public paint(Graphics g) {  /*...*/ }}Пример

paint(Graphics g) {
/*...*/
}
}
Пример


Слайд 36 public class MyMatrix {
private int r[][];

public class MyMatrix { private int r[][]; private int g[][]; private

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 int r,

public class Point { public int r, g, b;}public class PictureMatrix

g, b;
}
public class PictureMatrix {
private Point p[][];

public PictureMatrix(int w, int h) {
p = new Point[h][w];
}
/*...*/
}

Пример


Слайд 38 public class Point {
public int r,

public class Point { public int r, g, b;}interface PictureMatrix {

g, b;
}
interface PictureMatrix {
Point get(int i, int

j);
int width();
int height();
}
public class PictureMatrixImpl1
implements PictureMatrix {
/*...*/
}
public class PictureMatrixImpl2
implements PictureMatrix {
/*...*/
}

Пример


  • Имя файла: printsipy-obektno-orientirovannogo-proektirovaniya.pptx
  • Количество просмотров: 99
  • Количество скачиваний: 0