Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЛеонид Чайковский
1 Язык программирования Java Дмитриев Андрей Владиславович Май 2007
2 Фабрика Создает экземпляр класса, принимая во внимание переданные параметры. Позволяет создавать экземпляры различных классов в зависимости от текущих нужд приложения.
3 Фабрика (базовый класс) public class Namer { //базовый класс protected String last; protected String first; public String getFirst() { return first; //возвращает имя } public String getLast() { return last; //возвращает фамилию }
0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else" title="Фабрика (наследники) public class FirstFirst extends Namer { //Иванов Иван через пробел public FirstFirst(String s) { int i = s.lastIndexOf(" "); //находим пробел if (i > 0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else" class="link_thumb"> 4 Фабрика (наследники) public class FirstFirst extends Namer { //Иванов Иван через пробел public FirstFirst(String s) { int i = s.lastIndexOf(" "); //находим пробел if (i > 0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else { first = ""; // пробела нет last = s; // значит просто Иванов } 0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else"> 0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else { first = ""; // пробела нет last = s; // значит просто Иванов }"> 0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else" title="Фабрика (наследники) public class FirstFirst extends Namer { //Иванов Иван через пробел public FirstFirst(String s) { int i = s.lastIndexOf(" "); //находим пробел if (i > 0) { first = s.substring(0, i).trim(); last = s.substring(i + 1).trim(); } else">
0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { " title="Фабрика (наследники) public class LastFirst extends Namer { // Антон, Антонов через запятую public LastFirst(String s) { int i = s.indexOf(","); //ищем запятую if (i > 0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { " class="link_thumb"> 5 Фабрика (наследники) public class LastFirst extends Namer { // Антон, Антонов через запятую public LastFirst(String s) { int i = s.indexOf(","); //ищем запятую if (i > 0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { last = s; //нет запятой first = ""; //все считаем за фамилию } 0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { "> 0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { last = s; //нет запятой first = ""; //все считаем за фамилию }"> 0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { " title="Фабрика (наследники) public class LastFirst extends Namer { // Антон, Антонов через запятую public LastFirst(String s) { int i = s.indexOf(","); //ищем запятую if (i > 0) { last = s.substring(0, i).trim(); first = s.substring(i + 1).trim(); } else { ">
0) return new LastFirst(entry); else return new FirstFirst(entry);" title="Класс-фабрика public class NamerFactory { //Возвращает тот или иной класс на основе факта присутствия запятой public Namer getNamer(String entry) { int i = entry.indexOf(","); if (i > 0) return new LastFirst(entry); else return new FirstFirst(entry);" class="link_thumb"> 6 Класс-фабрика public class NamerFactory { //Возвращает тот или иной класс на основе факта присутствия запятой public Namer getNamer(String entry) { int i = entry.indexOf(","); if (i > 0) return new LastFirst(entry); else return new FirstFirst(entry); }… Данный класс возвращает подходящий экземпляр в зависимости от требований вызывающего класса. Как правило, экземпляры принадлежат одной иерархии наследников. 0) return new LastFirst(entry); else return new FirstFirst(entry);"> 0) return new LastFirst(entry); else return new FirstFirst(entry); }… Данный класс возвращает подходящий экземпляр в зависимости от требований вызывающего класса. Как правило, экземпляры принадлежат одной иерархии наследников."> 0) return new LastFirst(entry); else return new FirstFirst(entry);" title="Класс-фабрика public class NamerFactory { //Возвращает тот или иной класс на основе факта присутствия запятой public Namer getNamer(String entry) { int i = entry.indexOf(","); if (i > 0) return new LastFirst(entry); else return new FirstFirst(entry);">
7 Выводы Предоставляет гибкий контроль за типом, количеством, временем создания порождаемых объектов. Изменение поведения фабрики и порождаемых объектов в течение работы программы.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.