Objected Oriented Programming With C and Visual Studio 2017
What you’ll learn
Recognize classes of objects and model them in code
Store object level information using instance variables
Describe the benefits of object oriented programming
Create individual objects and discuss object instantiation
Understand how behaviors are coded in methods
Create and use properties to control access to instance variables
Understand how methods, properties and fields are used in a graphical application
Describe the order of execution of a program and use the debugger in Visual Studio
Use static variables and properties to describe class level information
Understand what a reference variable is and how to show how they operate
Create a class and centralize information in it so less coding can be done
Describe the reasons for creating child classes
Override methods, and understand why this is necessary and how it works with virtual methods
Describe examples of inheritance polymorphism and how this helps with writing less code
Describe examples of polymorphism in method parameters and how this helps with writing less code
Describe how an interface allows grouping objects by behaviors
Describe how interface polymorphism works with lists so less code can be written
Describe how interface polymorphism works with method parameters so less code can be written
Understand how abstract classes and interfaces differ and what purpose each one serves
Understand how the .Net framework is structured using classes and interfaces
Describe reasons for creating methods that are specific to individual classes
Understand how polymorphism allows us to ensure that the correct, derived class methods are called
Understand the reasons for coding virtual methods
Know why instance variables should be private and the dangers of not not making them private
Understand how abstraction is used to produce simplified models of the world
This course will not work with VS 2015 or previous versions. You must use VS 2017.
You should have a C# basics course, like “Basic C# Clearly Explained”, already under your belt.
forloops are used in the bottom of the course. Do a search for “C# Loops for Beginners.”
Please watch the video previews to be sure my teaching style works for you.
This course focuses on the essential logic of OOP. It uses just a few, carefully developed examples.
There are questions throughout this course, so you should be coding along to answer them.
There are additional, separate and different examples stored under lesson resources.
You should know how to create a simple console program in Visual Studio.
You should know about basic data types like integer, string and bool.
You should know how to create a method already.
This is not the first C# course you should be taking.
In the early lessons I use pictures to motivate concepts, so please be sure you are aware of that.
The bottom section is much more advanced, so it’s for those who want to push ahead much harder.
Very Important: 1. Friends, please take the time to review the curriculum carefully before buying so you can see exactly whether this is the right course for you. Please do not join until you have completed this step. 2. Please watch the free preview videos so you can see whether the presentation style works for you. Please remember I am just one person, and I make my videos often after I have been working for many hours already. PLease do not join until you have completed this step. 3. If something needs fixing, please let me know. Again, I’m just one person and not a big team of people. I will try to fix it as quickly as possible. Thank you.Course Overview:1. This is a course for those who are willing to push themselves. It’s not a “basic” introduction that gives an overly simplified perspective on OOP. In places, this code connects to the .NET framework, which is a professional level code base written in C#. My promise is simple: take this course, and you’ll discover details not taught in any other course. Speaking from experience, I can tell you that it is through consistent, daily effort, and I don’t mean little effort, but whole-hearted effort, that one makes progress when it comes to these technical subjects. That’s what years of struggling have taught me. 2. Please be sure to watch the free preview videos before enrolling so you can be sure the style of presentation works for you. 3. I use pictures in the earlier videos to motivate some concepts. This is good for visual learners.4. The more advanced videos on the bottom are more about just straight code and the .NET Framework. I have this section on the bottom so you can see how OOP actually looks in a professional level framework. 5. I have placed questions throughout the videos. I also mention the solutions from my perspective.6. There are separate PDF’s placed under lesson resources. These contains completely separate examples. 7. I discuss concepts from multiple perspectives where I feel it’s necessary to do so. I think developing a multidimensional understanding of concepts results in a much deeper level of true understanding.8. In some of the videos I place a lot of comments explaining each line bit by bit. I do this because I personally feel that reading comments makes a difference in terms of real understanding. 9. My explanations focus both on the how and the why, and I stress this difference throughout most of the course. 10. This is not the first C# course you should be taking. 11. The bottom sections are a break from the upper sections and show how C# is used in Windows Forms programs in actual code. Who should not join: 1. People wanting the how without the why. 2. People looking for fast and superficial explanations.3. People who are interested only in code without any visual explanations.4. People who like fast talking.5. People not looking for multiple explanations from multiple perspectives. Thank you for reading, and I will see you inside!note: parts of promo presentation licensed from presentermedia
Section 1: Get the needed software
Lecture 1 Course Overview and Getting Visual Studio Community 2017
Section 2: Looking at general class concepts
Lecture 2 Recognizing categories of objects and declaring classes
Lecture 3 Reusing code as a benefit of objected oriented programming
Lecture 4 Storing information about individual objects with instance variables
Lecture 5 Solution to question on instance variables
Lecture 6 Instantiating objects and observing instance variable values
Lecture 7 Solution to creating instances and observing instance variable values
Lecture 8 Representing a behavior/action with a void method
Lecture 9 Solution to question on void methods
Lecture 10 Creating a class with methods that return values
Lecture 11 Solution to question on method with return values
Lecture 12 Using properties to control access to fields
Lecture 13 Solution to question on properties
Lecture 14 Understanding how methods, properties, instances are used in real life
Lecture 15 Understanding the order in which a program executes
Lecture 16 Representing class level information with static fields and properties
Lecture 17 Understanding the concept of a reference variable
Lecture 18 Sample solution to question on reference variables
Lecture 19 Review questions on chapter 1
Section 3: Establishing class hierarchies
Lecture 20 Motivating the benefits of centralization
Lecture 21 Centralizing a common characteristic and behavior in the Monster class
Lecture 22 Possible solution to question on virtual methods from Monster class
Lecture 23 Deriving the Orc class from Monster and confirming inheritance is real
Lecture 24 Overriding the Speak method in the Orc class
Lecture 25 Test on connection between Monster and Orc classes
Lecture 26 Deriving EvilDragon from Monster
Lecture 27 Adding methods specific to orcs and evil dragons
Lecture 28 Possible solution to question on add BreatheFire to EvilDragon class
Lecture 29 Deep dive through the .Net Framework using classes
Lecture 30 Using inheritance polymorphism with lists of monster objects
Lecture 31 Creating the MonsterKeeper class
Lecture 32 Test on polymorphism
Lecture 33 Grouping radically different objects by behaviors with interfaces
Lecture 34 Solution to question on interfaces and interface polymorphism
Lecture 35 Using interface polymorphism in method calls
Lecture 36 Deep dive through the .Net Framework using interfaces
Lecture 37 Test on interfaces
Section 4: More Advanced and Complex Examples
Lecture 38 Attaching Event Handlers to Events
Lecture 39 Understanding Access Modifier Consequences More
Lecture 40 Drilling through Class Hierarchies
Lecture 41 Working with Overloaded Operators
Lecture 42 Using a FileStream Object
Lecture 43 Understanding Strings in Memory
Lecture 44 Using the Class Designer, 1
Lecture 45 Using the Class Designer, 2
Lecture 46 Looking through the Object Explorer
Lecture 47 Digging into Properties in the .NET Framework Source Code, Part 1
Lecture 48 Digging into Properties, Part 2
Lecture 49 Overriding Methods in the .NET Framework Source Code
Lecture 50 Using the “Using” Keyword and IDispoable
Lecture 51 Real Life Polymorphism, Part 1
Lecture 52 Real Life Polymorphism, Part 2
Section 5: Next steps
Lecture 53 Wrap up
This is a course for those who are interested in learning about objected oriented programming with C#.,There are tests in this course, and additional exercises under lesson resources, so join if you like to test yourself.,If you are an OOP expert, please do not enroll in this course.,You enjoy getting straight into coding because you agree that comprehension results from active participation.,You should not enroll in this course if you don’t like to have the same concept explained multiple times, from different perspectives.
Udemy | English | 8h 37m | 4.83 GB
Created by: T O