¡Con la base de OO, comencé a estudiar el modelo de diseño cuidadosamente! ¡Los patrones de diseño son esenciales en el diseño de Java!
Apple.java
Estrategia de paquete;/** * * @author Andy * */public class Apple implementa un descuento {// peso privado de doble peso; // El precio unitario real está diseñado y el dinero y otros cálculos precisos son BigDecimal; precio doble privado; // descuento por cantidad de compra // Descuento privado d = nuevo AppleweightDiscountor (); // descuento por compra Precio total Descuento privado D = nuevo ApplePriceScountor (); public Double getweight () {return peso; } public void setweight (doble peso) {this.weight = weight; } public Double GetPrice () {Return Price; } public void setPrice (doble precio) {this.price = precio; } manzana pública (doble peso, doble precio) {super (); this.weight = peso; this.price = precio; } @Override public void DiscountSell () {D.Discount (this); }}Banana.java
Estrategia de paquete;/** * * @author Andy * */public class Banana implementa descuento {// peso privado doble peso; //// El desarrollo real de los precios unitarios implica cálculos precisos como dinero y otras cosas. Public Banana (doble peso, doble precio) {super (); this.weight = peso; this.price = precio; } public Double GetPeight () {return peso; } public void setweight (doble peso) {this.weight = weight; } public Double GetPrice () {Return Price; } public void setPrice (doble precio) {this.price = precio; } @Override public void DiscountSell () {// Algoritmo de descuento if (peso <5) {System.out.println ("Precio no descontado de plátano:" + peso * precio); } else if (peso> = 5 && weight <10) {system.out.println ("El plátano tiene un precio de 80% de descuento:" + peso * precio * 0.88); } else if (peso> = 10) {system.out.println ("plátano 50% de descuento precio:" + peso * precio * 0.5); }}}Market.java
Estrategia de paquete;/** * * @author Andy * */public class Market {/** * Descuentos para artículos con descuento * @param Apple */public static void DiscountSell (descuidado D) {D.Discountsell ();}}Descuento.java
Estrategia de paquete;/** * * @author Andy * */Public Interface Discountable {public void DiscountSell ();}Test.java
Estrategia de paquete;/** * * @author Andy * */public class test {/** * * @param args */public static void main (string [] args) {// Solo puede descartar Apple pero no cosas de uso general, y usted escribe cualquier algoritmo de descuento de descuento cuando desea vender // de hecho, el algoritmo de descuento para cada tipo de cosa es un algoritmo de descuento de descuento. Descuento d1 = nuevo plátano (5.4, 1.1); Market.discountsell (D); Market.discountsell (D1); }}