Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Fundamentals for Self-Taught Programmers

You're reading from   Fundamentals for Self-Taught Programmers Embark on your software engineering journey without exhaustive courses and bulky tutorials

Arrow left icon
Product type Paperback
Published in Apr 2023
Publisher Packt
ISBN-13 9781801812115
Length 254 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Jasmine Greenaway Jasmine Greenaway
Author Profile Icon Jasmine Greenaway
Jasmine Greenaway
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

Preface 1. Part 1: Software Engineering Basics
2. Chapter 1: Defining Software Engineering FREE CHAPTER 3. Chapter 2: The Software Engineering Life Cycle 4. Chapter 3: Roles in Software Engineering 5. Part 2: Introduction to Programming
6. Chapter 4: Programming Languages and Introduction to C# 7. Chapter 5: Writing Your First C# Program 8. Chapter 6: Data Types in C# 9. Chapter 7: Flow Control in C# 10. Chapter 8: Introduction to Data Structures, Algorithms, and Pseudocode 11. Chapter 9: Applying Algorithms in C# 12. Chapter 10: Object-Oriented Programming 13. Part 3: Software Engineering – the Profession
14. Chapter 11: Stories from Prominent Job Roles in Software Development 15. Chapter 12: Coding Best Practices 16. Chapter 13: Tips and Tricks to Kickstart Your Software Engineering Career 17. Assessments 18. Index 19. Other Books You May Enjoy

Introduction to abstraction

You have learned in this chapter that OOP creates an abstract view of the things that we interact with so that we can use them in code. However, you can apply an additional level of abstraction to your classes in C# with abstract classes.

Let’s use our existing animal example to explain the concept. We now know that the Animal class doesn’t have enough members to describe all animals, but we also know that some members from derived classes of animals will not make sense in other derived classes. For example, a Cat or Dog class shouldn’t need a property for gills, like a Lizard class would, but all three animal types will have an age. It seems that the Animal class won’t ever be used by itself, only as a base class. It can be inverted into an abstract class so that the following apply:

  • The class will never be instantiated, since we know it’s best used as a base class and should only be used for that purpose
  • ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image