In[]:=
(*DefineabaseclasscalledShapetorepresentagenericshape*)Shape1[]:=Module[{},(*Placeholdermethodforcalculatingarea(tobeimplementedinderivedclasses)*)calculateArea[]:=Null;(*Placeholdermethodforcalculatingperimeter(tobeimplementedinderivedclasses)*)calculatePerimeter[]:=Null;];mymethod[a_,b_]=Module[{a=a,b=b},a*b];
In[]:=
(*DefineaderivedclasscalledCircle,whichinheritsfromtheShapeclass*)Circle1[radius_]:=Module[{r=radius},calculateArea[]:=Pi*radius^2;calculatePerimeter[]:=2*Pi*radius; getRadius[]=Module[{},r];{calculateArea[],calculatePerimeter[],getRadius[]}];
In[]:=
(*DefineaderivedclasscalledTriangle,whichinheritsfromtheShapeclass*)Triangle1[base_,height_,side1_,side2_,side3_]:=Module[{b=base,h=height,s1=side1,s2=side2,s3=side3},calculateArea[]:=0.5*b*h;calculatePerimeter[]:=s1+s2+s3;{calculateArea[],calculatePerimeter[],mymethod[s1,s2]}];Shap1=Shape1[];
In[]:=
Shap1=Shape1[Circle1[14],Triangle1[3,4,3,4,5]];circ=Circle1[7];circ1=Circle1[8];trig=Triangle1[5,8,3,4,5];
In[]:=
circ1[[3]]
Out[]=
8
In[]:=
trig[[3]]
Out[]=
12
circ[[1]]
Out[]=
49π
In[]:=
Shap1[[1]][[1]]
Out[]=
196π
In[]:=
Shap1[[2]][[1]]
Out[]=
6.
In[]:=
Shap1[[1]][[2]]
Out[]=
28π
In[]:=
Shap1[[2]][[2]]
Out[]=
12
In[]:=
[a,b]=1,2
In[]:=
a,b=1,2
