I think you have one typo in the Conclusion "A normal method* cannot handle an abstract method" maybe you wanted "A normal class* ...."
I think the method "GetSleep" could be renamed to only "Sleep", I know it doesn't sound important, but I believe the "Get" word in it might not be accurate with what it actually does, I see "Get" methods with the purpose to return a value to be stored in memory or to print it somewhere, here "GetSleep" does neither, we don't expect to see the value "true" anywhere.
Regardless these two small comments, I really liked the approach you have used to describe abstract classes and this has helped me to see it from a different perspective!
Hey, great article! thanks for sharing!
I have two suggestions:
I think you have one typo in the Conclusion "A normal method* cannot handle an abstract method" maybe you wanted "A normal class* ...."
I think the method "GetSleep" could be renamed to only "Sleep", I know it doesn't sound important, but I believe the "Get" word in it might not be accurate with what it actually does, I see "Get" methods with the purpose to return a value to be stored in memory or to print it somewhere, here "GetSleep" does neither, we don't expect to see the value "true" anywhere.
Regardless these two small comments, I really liked the approach you have used to describe abstract classes and this has helped me to see it from a different perspective!
Thank you for pointing opout the errors and I am glad you liked my approach.