When we are dealing with simple objects and complex objects, if they have commonalities, then we can use a unified interface, allowing users to better manipulate different objects.
usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Linq;namespaceconsoleapplication1{classProgram { Public Abstract classShape {Private stringname; PublicShape (stringname) { This. Name =name; } Public Abstract DoubleArea (); Public Abstract voidDisplay (); } Public classCircle:shape {Private Doubleradius; PublicCircle (stringNameDoubleRADIUS):Base(name) { This. Radius =radius; } Public Override DoubleArea () {returnMath.Round (math.pi*radius*radius); } Public Override voidDisplay () {Console.WriteLine ("Area:"+Area ()); } } Public classLine:shape { PublicLine (stringName):Base(name) {} Public Override DoubleArea () {Console.WriteLine ("can not Calculat area"); return 0; } Public Override voidDisplay () {Console.WriteLine ("can not display area"); } } Static voidMain (string[] args) {Circle Circle=NewCircle ("Circle", 5f); Circle. Display (); Line Line=NewLine (" Line"); Line. Display (); } }}
Combined Mode C #