Avec la base de l'OO, j'ai commencé à étudier attentivement le modèle de conception! Les modèles de conception sont essentiels dans la conception Java!
Apple.java
Stratégie de package; / ** * * @Author Andy * * / public class Apple implémente à prix réduit {// poids privé double poids; // Le prix unitaire réel est conçu et l'argent et d'autres calculs précis sont BigDecimal; double prix privé; // réduit par la quantité d'achat // Discoutor privé D = New AppleweightDiscountor (); // Actualisé par achat total prix remise privé D = nouveau ApplePriediscountor (); public double getweight () {return poids; } public void setweight (double poids) {this.weight = poids; } public double getPrice () {prix de retour; } public void setPrice (double prix) {this.price = prix; } public Apple (double poids, double prix) {super (); this.weight = poids; this.price = prix; } @Override public void DiscountSell () {d.Discount (this); }}Banane.java
Stratégie de package; / ** * * @Author Andy * * / classe publique Banana implémente à prix réduit {// poids privé double poids; ///// le développement réel des prix unitaires implique des calculs précis tels que l'argent et d'autres choses. Banane publique (double poids, double prix) {super (); this.weight = poids; this.price = prix; } public double getweight () {return poids; } public void setweight (double poids) {this.weight = poids; } public double getPrice () {prix de retour; } public void setPrice (double prix) {this.price = prix; } @Override public void DiscountSell () {// algorithme de réduction if (poids <5) {System.out.println ("Prix non actuté de la banane:" + poids * Prix); } else if (Weight> = 5 && poids <10) {System.out.println ("Banana a 80% de prix réduit:" + poids * prix * 0,88); } else if (Weight> = 10) {System.out.println ("Banana 50% de réduction Prix:" + Poids * Prix * 0,5); }}}Market.java
Stratégie de package; / ** * * @Author Andy * * / MARCHÉ DE CLASSE PUBLIQUE {/ ** * Réductions pour les articles à prix réduit * @param Apple * / public static void Discountsell (Discountable D) {D.Discountsell ();}}Actualitable.java
Stratégie de package; / ** * * @Author Andy * * / interface publique à prix réduit {public void DiscountSell ();}Test.java
Stratégie de package; / ** * * @Author Andy * * / Public Class Test {/ ** * * @param args * / public static void main (String [] args) {// Vous ne pouvez actualiser qu'Apple mais pas des choses à usage général, et vous écrivez tout algorithme de remise lorsque vous voulez vendre // en fait l'algorithme de réduction pour chaque type de chose est inconstable Discountable D = New Apple. D1 à prix réduit = nouvelle banane (5.4, 1.1); Market.Discountsell (D); Market.Discountsell (D1); }}