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
Syntax
:"[a,b]=1,2 is incomplete; more input is needed.
In[]:=
a,b=1,2
Syntax
:"a,b=1,2 is incomplete; more input is needed.