C# Intermediate - Part I (Mastering Oop)
Published 9/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.53 GB | Duration: 14h 48m
Published 9/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.53 GB | Duration: 14h 48m
Encapsulation, Inheritance, Abstraction, Polymorphism, Interfaces, Virtual and Abstract Methods, Real-life examples
What you'll learn
How the mankind developed the idea of OOP paradigm
What data modeling is and how to improve your abstract and logical thinking
Create the business/domain layer of a multi tier application with real-life examples
Understand the four fundamental pillars of OOP – Encapsulation, Inheritance, Abstraction and Polymorphism
Increase your software engineering skills with the knowledge of the SOLID principles
Be prepared for interviews knowing the similarities and differences between abstract classes and interfaces
Become aware of the intricacies behind the virtual, abstract, new, and sealed keywords
Understand when and why to use static classes and methods
Requirements
Students should know about the basic data types, the creation of variables and methods
Finishing my course " C# Fundamentals For Complete Beginners" will be of great help
Description
Object-oriented Programming can develop your abstract, associative and logical thinking, change your perspective of how you perceive processes, events, objects, subjects and immaterial concepts that you want to replicate in your applications. Creating an accurate model of complex business, ecological, biological, chemical, physical, philosophical or personal problems filled with appropriate interactions (methods) will produce reasonable solutions that can eventually change the world or improve your skills and virtues.The course is mostly based on practical examples (you can see some of them in the first video that has a free preview) and that is understandable because OOP is allowing us to take any object/subject, investigate its meaning and interconnectedness to other objects and create virtual models of the existing concept(s). There could be more than one viable solution and the more intricacies and concepts you know, the better your programming architecture will be.Knowing about encapsulation for example will make it impossible for unwanted side effects to take place in your application. Understanding when to use composition and inheritance is a vital skill towards creating your set of objects and their relations. Recognizing when to create one or two levels of abstraction and how to implement polymorphism are advanced skills that has to be integrated by the students. Differentiating between the advantages and disadvantages of using abstract classes and interfaces is another crucial point for the students. Deliberate thinking about SOLID principles, strong cohesion, loose coupling and dependency injections before finishing your architecture of classes is necessary to be done if the students want to develop adaptive applications.Before we start making multi-tier applications a strong foundation of knowledge, skills and experience with solving simple tasks are necessary. This course is the second stepping stone towards achieving that goal.I hope that my students will be benevolent toward each other in the Q&A section of the courses and be successful in their future career as a software developer (and engineer).
Overview
Section 1: Classes and Objects
Lecture 1 Excerpts
Lecture 2 Object Oriented Programming
Lecture 3 Classes and Instances
Lecture 4 Variables and Properties - Part I
Lecture 5 Variables and Properties - Part II
Lecture 6 Constructors and Methods - Part I
Lecture 7 Constructors and Methods - Part II
Lecture 8 Exercises I
Lecture 9 Solutions to Ex. I - Part I
Lecture 10 Solutions to Ex. I - Part II
Lecture 11 Solutions to Ex. I - Part III
Lecture 12 Solutions to Ex. I - Part IV
Section 2: Encapsulation, Inheritance, Composition, Interfaces
Lecture 13 Access Modifiers
Lecture 14 Encapsulation
Lecture 15 Inheritance and Composition - Part I
Lecture 16 Inheritance and Composition - Part II
Lecture 17 Exercises II
Lecture 18 Solutions to Ex. II - Part I
Lecture 19 Solutions to Ex. II - Part II
Lecture 20 Interfaces
Lecture 21 Exercises III
Lecture 22 Solutions to Ex. III - Part I
Lecture 23 Solutions to Ex. III - Part II
Section 3: Abstraction, Polymorphism, SOLID Principles
Lecture 24 Abstraction - Part I
Lecture 25 Abstraction - Part II
Lecture 26 Virtual, Abstract, New and Sealed Keywords
Lecture 27 Abstract Classes vs Interfaces
Lecture 28 Polymorphism
Lecture 29 Exercises IV
Lecture 30 Solutions to Ex. IV - Part I
Lecture 31 Solutions to Ex. IV - Part II
Lecture 32 Solutions to Ex. IV - Part III
Lecture 33 SOLID Principles
Lecture 34 Static Keyword
Lecture 35 Fixing The Broken Encapsulation Problem (Bonus Content)
Lecture 36 End
Anyone who has an interest in software development and particularly object oriented programming,Students that finished my course "C# Fundamentals For Complete Beginners"