Tutorialspoint

Mid-Year Savings Flat 10% OFF, Use Code: MID10

C# Intermediate – Part I (Mastering OOP)

person icon Ivan Iliev

4.4

C# Intermediate – Part I (Mastering OOP)

Encapsulation, Inheritance, Abstraction, Polymorphism, Interfaces, Virtual and Abstract Methods, Real-life examples

updated on icon Updated on Jul, 2024

language icon Language - English

person icon Ivan Iliev

Lectures -36

Resources -8

Duration -14.5 hours

4.4

price-loader

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.

Course 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).

Goals

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

Prerequisites

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.

C# Intermediate – Part I (Mastering OOP)

Curriculum

Check out the detailed breakdown of what’s inside the course

Classes and Objects
12 Lectures
  • play icon Excerpts 03:23 03:23
  • play icon Object Oriented Programming 31:27 31:27
  • play icon Classes and Instances 15:22 15:22
  • play icon Variables and Properties - Part I 31:29 31:29
  • play icon Variables and Properties - Part II 30:14 30:14
  • play icon Constructors and Methods - Part I 39:26 39:26
  • play icon Constructors and Methods - Part II 28:01 28:01
  • play icon Exercises I
  • play icon Solutions to Ex. I - Part I 40:19 40:19
  • play icon Solutions to Ex. I - Part II 43:44 43:44
  • play icon Solutions to Ex. I - Part III 40:08 40:08
  • play icon Solutions to Ex. I - Part IV 34:16 34:16
Encapsulation, Inheritance, Composition, Interfaces
11 Lectures
Tutorialspoint
Abstraction, Polymorphism, SOLID Principles
13 Lectures
Tutorialspoint

Instructor Details

Ivan Iliev

Ivan Iliev

Greetings, stranger! :) I am not surprised to see your kind here. If you want to break free from the Singleton pattern and the exceptional thought about learning from more than one teacher pops up in your mind stack, then you better try that idea now, before the memory reallocation takes place. Some say that in order to become a great software developer you shall learn from the start. The mighty and fearsome kung-fu legends of the past talked and taught about the importance of a strong foundation. In their case that was the core and the legs, in our case, that’s the fundamental theory that will allow us to build complex and meaningful applications.

But don’t be fooled by the seemingly simple task – the casting of that theory into practice will have its price – the asynchronous 0s and 1s that will create the never-ending illusion of everything. The battles ahead will contain different data types, complicated concepts, composite layers of business logic, a variety of databases, and on top of that a selection of presentation layers for the different tastes of the end users. If you are intrepid and passionate enough, merciful and generous towards my lack of ‘x’ years in renowned universities and companies – you have the basic requirements and I am thankful. I will do my best so you can become what I am not – a better version in that repository! :)

P.S.: If you enjoy playing computer games like Witcher 3, WarCraft 3 TFT, Heroes 3 Might and Magic, AOE 2/3, and Diablo 2 – congratulations, you met the recommended requirements for my courses. :)

P.S.S: I have been teaching professional classes in Software Development for 5 years and have a Bachelor's degree in Business Information Technology.

Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515