If what you really need is an explaination of the concepts of classes as the title suggests, maybe this will help:
Think of objects in coding just as you would objects in the real world.
A Dodge Ram is an object.
It is made up of smaller objects: Engine, doors, tires
Each of those is made up of smaller objects: Bolts, pistons, etc.
Objects in coding can inherit from each other, usually from the general to the specific.
A class is the blueprint for instanciating (making an instance of) the object.
DodgeRam is a class describing how to make an instance, but itself is not an actual thing you can interact with.
myDodgeRam is an instance of a the class DodgeRam
I can do things with the object instance myDodgeRam
Anything defined in the base class is available to a child.
Methods defined as virtual in the base class can be overridden by the child class (at least in .NET languages like C#). This is often to account for more specific needs.
You can even have a child class call the base classes methods which is often the smart way to go.
Think of objects in coding just as you would objects in the real world.
A Dodge Ram is an object.
It is made up of smaller objects: Engine, doors, tires
Each of those is made up of smaller objects: Bolts, pistons, etc.
Objects in coding can inherit from each other, usually from the general to the specific.
- Class vehicle
- Class truck : vehicle
- Class Ram : Truck
- class 2500FWD : Ram
- Class Ram : Truck
- Class truck : vehicle
A class is the blueprint for instanciating (making an instance of) the object.
DodgeRam is a class describing how to make an instance, but itself is not an actual thing you can interact with.
myDodgeRam is an instance of a the class DodgeRam
I can do things with the object instance myDodgeRam
myDodgeRam.SerialNumber = 123456789; myDodgeRam.FillUpTank(); float fuelLevel = myDodgeRam.FuelTankPercentageFull; if (myDodgeRam.IsReady) myDodgeRam.StartEngine();
Anything defined in the base class is available to a child.
class truck : vehicle
{
public float FuelTankPercentageFull
{
get; set;
}
}
class DodgeRam : truck
{
// I don't have to define a FuelTankPercentageFull here because I inherit it from my parent
}
Methods defined as virtual in the base class can be overridden by the child class (at least in .NET languages like C#). This is often to account for more specific needs.
class truck : vehicle
{
public virtual bool StartEngine()
{
// Do something to start the engine
return true; // No checks or requirements
}
}
class DodgeRam : truck
{
public override bool StartEngine()
{
// Do a safety check first
if (IsSeatBeltsEngaged && IsFootOnBrake)
{
return true;
}
return false;
}
}
You can even have a child class call the base classes methods which is often the smart way to go.
class truck : vehicle
{
public virtual bool StartEngine()
{
// Notice there are no safety checks before trying to start up.
try
{
// Do something to start the engine
return true; // because we succeeded
}
catch(exception error)
{
return false; // because there was an error
}
}
}
class DodgeRam : truck
{
public override bool StartEngine()
{
// Do a safety check first
if (IsSeatBeltsEngaged && IsFootOnBrake)
{
return base.StartEngine();
// Now all the electrical work is in the base class
// and not repeated in every child.
}
}
}
0 Comments On This Entry
Trackbacks for this entry [ Trackback URL ]
My Blog Links
Recent Entries
-
-
-
Even the Russians are warning us not to give up our guns / 2nd Amendment rights.
on Dec 31 2012 07:20 AM
-
-
Recent Comments
Search My Blog
0 user(s) viewing
0 Guests
0 member(s)
0 anonymous member(s)
0 member(s)
0 anonymous member(s)
Categories
|
|



Leave Comment









|