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 ]
← January 2021 →
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
My Blog Links
Recent Entries
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)