public class BaseClass { // methods of BaseClass }public SomeClass extends BaseClass { // methods of SomeClass }a.SomeClass scobj = new SomeClass( );b.BaseClass bcobj = scobj;c.SomeClass scobj2 = bcobj;d.bcobj.aMethodOfSomeClass( ); // does not exist in BaseClassA.Is statementbabove legal or is casting required?B.Statementcis trying to assign the SomeClass object referred to by bcobj to a SomeClass reference variable scobj2. What is wrong with this statement and how would you fix it.C.In statementd a BaseClass reference is trying to access a SomeClass class method that is not part of BaseClass. Is this legal? Explain.