public class Audi implements Car {
private String color;
private int turnAssistLevel;
public Audi() {
}
public Audi(String color) {
this.color = color;
}
public Audi(String color, int turnAssistLevel) {
this.color = color;
this.turnAssistLevel = turnAssistLevel;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getTurnAssistLevel() {
return turnAssistLevel;
}
public void setTurnAssistLevel(int turnAssistLevel) {
this.turnAssistLevel = turnAssistLevel;
}
}
public class Bmw implements Car {
private String color;
private boolean hasXDrive;
public Bmw() {
}
public Bmw(String color) {
this.color = color;
}
public Bmw(String color, boolean hasXDrive) {
this.color = color;
this.hasXDrive = hasXDrive;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isHasXDrive() {
return hasXDrive;
}
public void setHasXDrive(boolean hasXDrive) {
this.hasXDrive = hasXDrive;
}
}
< /code>
Я хотел бы написать несколько завод, используя заводские методы: < /p>
Допустим, я хочу иметь несколько заводских методов для возврата пустых автомобилей. Легко сделать: < /p>
public interface CarFactory {
public Car makeCar();
}
< /code>
в качестве реализации: < /p>
public class BmwCarFactory implements CarFactory {
public Car makeCar() {
return new Bmw();
}
}
< /code>
То же самое, что я мог бы сделать для Audi. < /p>
Теперь, скажем, мне нужен автомобиль с цветом. Как я вижу, мне нужно определить фабрику, которая знает, как делать автомобили с цветами: < /p>
public interface CarWithColorFactory {
Car makeCar(String color);
}
< /code>
Теперь, чтобы сделать BMW с цветом: < /p>
public class BmwWithColorCarFactory implements CarWithColorFactory {
public Car makeCar(String color) {
return new Bmw(color);
}
}
< /code>
То же самое для Audi. Или Audi с цветом и переворотом. Как бы я сделал это с помощью фабричного метода?public class SimpleCarFactory {
public Car makeBmw(String color, boolean hasXDrive) {
return new Bmw(color, hasXDrive);
}
public Car makeAudi(String color, int turnAssistLevel) {
return new Audi(color, turnAssistLevel);
}
}
public void setColor(String color) { this.color = color; }
public boolean isHasXDrive() { return hasXDrive; }
public void setHasXDrive(boolean hasXDrive) { this.hasXDrive = hasXDrive; } } < /code> Я хотел бы написать несколько завод, используя заводские методы: < /p> Допустим, я хочу иметь несколько заводских методов для возврата пустых автомобилей. Легко сделать: < /p> public interface CarFactory { public Car makeCar(); } < /code> в качестве реализации: < /p> public class BmwCarFactory implements CarFactory {
public Car makeCar() { return new Bmw(); } } < /code> То же самое, что я мог бы сделать для Audi. < /p> Теперь, скажем, мне нужен автомобиль с цветом. Как я вижу, мне нужно определить фабрику, которая знает, как делать автомобили с цветами: < /p> public interface CarWithColorFactory { Car makeCar(String color); } < /code> Теперь, чтобы сделать BMW с цветом: < /p> public class BmwWithColorCarFactory implements CarWithColorFactory { public Car makeCar(String color) { return new Bmw(color); } } < /code> То же самое для Audi. Или Audi с цветом и переворотом. Как бы я сделал это с помощью фабричного метода?public class SimpleCarFactory {
public Car makeBmw(String color, boolean hasXDrive) { return new Bmw(color, hasXDrive); }
public Car makeAudi(String color, int turnAssistLevel) { return new Audi(color, turnAssistLevel); } } [/code] Так как это сделать с помощью фабричного метода?
В C ++ вы можете унаследовать все конструкторы базового класса, написав, используя baseclass :: baseclass
Мой базовый конструктор имеет как конструктор по умолчанию, и другой, который принимает аргумент, даже если я не имеет значения в этом случае....
Цели: расслабиться и стать нейтральным
propertyInfos количество >500
specialProps количество будет 2.
Какой путь быстрее:
1.
var specialProps = propertyInfos
.Where(v => v.TestName == specialTestName && v.Name == propertyName)
.ToArray();
В моем магазине Woocommerce, когда я пытаюсь добавить в мою корзину большую часть элемента, чем в складе (то есть, если у нас есть 9), я получаю это сообщение ...
Строки «Out of of of of, пожалуйста, свяжитесь с нашим офисом продаж»
Кто-нибудь...