C# Advanced Topics Methods, Classes and Objects SoftUni Team Technical Trainers Software University

Slides:



Advertisements
Similar presentations
 Dimitar Ivanov Introduction to programming with microcontrollers.
Advertisements

AngularJS Services Built-in and Custom Services SoftUni Team Technical Trainers Software University
Methods Writing and using methods, overloads, ref, out SoftUni Team Technical Trainers Software University
Software University Curriculum, Courses, Exams, Jobs SoftUni Team Technical Trainers Software University
Fundamentals SoftUni Welcome to Software University SoftUni Team Technical Trainers Software University
Loops, Methods, Classes Loops, Methods, Using API Classes, Exceptions SoftUni Team Technical Trainer Software University
Project Tracking Tools Trello, Asana, Basecamp, GitHub Issue Tracker, TRAC SoftUni Team Technical Trainers Software University
Programming Basics Course Introduction SoftUni Team Technical Trainers Software University
AngularJS Directives Defining Custom Directives SoftUni Team Technical Trainers Software University
Software Testing Lifecycle Exit Criteria Evaluation, Continuous Integration Ivan Yonkov Technical Trainer Software University.
Teamwork and Personal Skills Course Introduction Software University SoftUni Team Technical Trainers.
Fundamentals SoftUni Welcome to Software University SoftUni Team Technical Trainers Software University
Design Patterns: Structural Design Patterns
Conditional Statements Implementing Control-Flow Logic in C# SoftUni Team Technical Trainers Software University
Consuming REST Services from C# SoftUni Team Technical Trainers Software University
Loops Repeating Code Multiple Times SoftUni Team Technical Trainers Software University
Database APIs and Wrappers
Entity Framework Performance SoftUni Team Technical Trainers Software University
Methods, Arrays, Lists, Dictionaries, Strings, Classes and Objects
Svetlin Nakov Technical Trainer Software University
Build Processes and Continuous Integration Automating Build Processes Software University Technical Trainers SoftUni Team.
Processing Redis with.NET How to Operate with Redis Databases SoftUni Team Technical Trainers Software University
Multidimensional Arrays, Sets, Dictionaries Processing Matrices, Multidimensional Arrays, Dictionaries, Sets SoftUni Team Technical Trainers Software University.
Project Tracking Tools Trello, Asana, Basecamp, GitHub Issue Tracker, TRAC Angel Georgiev Part-time Trainer Software University
Loops, Methods, Classes Using Loops, Defining and Using Methods, Using API Classes, Exceptions, Defining Classes Bogomil Dimitrov Technical Trainer Software.
Test-Driven Development Learn the "Test First" Approach to Coding SoftUni Team Technical Trainers Software University
Defining Classes Classes, Fields, Constructors, Methods, Properties SoftUni Team Technical Trainers Software University
Functions Reusable Parts of Code SoftUni Team Technical Trainers Software University
Arrays, Lists, Stacks, Queues Processing Sequences of Elements SoftUni Team Technical Trainers Software University
Asynchronous Web Services Writing Asynchronous Web Services SoftUni Team Technical Trainers Software University
C# Basics Course Introduction Svetlin Nakov Technical Trainer Software University
Defining Classes Classes, Fields, Constructors, Methods, Properties Svetlin Nakov Technical Trainer Software University
Jekyll Static Site Generator Template-Based Site Generation Svetlin Nakov Technical Trainer Software University
Exam Preparation Algorithms Course: Sample Exam SoftUni Team Technical Trainers Software University
Processing JSON in.NET JSON, JSON.NET LINQ-to-JSON and JSON to XML SoftUni Team Technical Trainers Software University
Tables, Rows, Columns, Cells, Header, Footer, Colspan, Rowspan
High-Quality Programming Code Code Correctness, Readability, Maintainability Svetlin Nakov Technical Trainer Software University
High-Quality Code: Course Introduction Course Introduction SoftUni Team Technical Trainers Software University
Design Patterns: Structural Design Patterns General and reusable solutions to common problems in software design Software University
Advanced C# Course Introduction SoftUni Team Technical Trainers Software University
Object-Oriented Programming Course Introduction Svetlin Nakov Technical Trainer Software University
Reflection Programming under the hood SoftUni Team Technical Trainers Software University
C# Advanced Topics Methods, Arrays, Lists, Dictionaries, Strings, Classes and Objects SoftUni Team Technical Trainers Software University
Mocking with Moq Tools for Easier Unit Testing SoftUni Team Technical Trainers Software University
Operators and Expressions
Mocking Unit Testing Methods with External Dependencies SoftUni Team Technical Trainers Software University
Mocking with Moq Mocking tools for easier unit testing Svetlin Nakov Technical Trainer Software University
Test-Driven Development Learn the "Test First" Approach to Coding Svetlin Nakov Technical Trainer Software University
Programming for Beginners Course Introduction SoftUni Team Technical Trainers Software University
Objects and Classes Using Objects and Classes Defining Simple Classes SoftUni Team Technical Trainers Software University
Sets, Dictionaries SoftUni Team Technical Trainers Software University
Advanced Tree Structures Binary Trees, AVL Tree, Red-Black Tree, B-Trees, Heaps SoftUni Team Technical Trainers Software University
Loops, Methods, Classes Using Loops, Defining and Using Methods, Using API Classes, Exceptions, Defining Classes Svetlin Nakov Technical Trainer
Functional Programming Data Aggregation and Nested Queries Ivan Yonkov Technical Trainer Software University
Programming Fundamentals Course Introduction SoftUni Team Technical Trainers Software University
Doctrine The PHP ORM SoftUni Team Technical Trainers Software University
Creating Content Defining Topic, Creating Technical Training Materials SoftUni Team Technical Trainers Software University
ASP.NET MVC Course Program, Trainers, Evaluation, Exams, Resources SoftUni Team Technical Trainers Software University
First Steps in PHP Creating Very Simple PHP Scripts SoftUni Team Technical Trainers Software University
Inheritance Class Hierarchies SoftUni Team Technical Trainers Software University
Static Members Static Variables & Methods SoftUni Team Technical Trainers Software University
Stacks and Queues Processing Sequences of Elements SoftUni Team Technical Trainers Software University
Generics SoftUni Team Technical Trainers Software University
C# OOP Advanced Course Introduction SoftUni Team Technical Trainers Software University
Java OOP Advanced Course Introduction SoftUni Team Technical Trainers Software University
High-Quality Programming Code Code Correctness, Readability, Maintainability, Testability, Etc. SoftUni Team Technical Trainers Software University
Using Objects and Classes Defining Simple Classes
C# Basic Syntax, Visual Studio, Console Input / Output
Methods, Arrays, Lists, Dictionaries, Strings, Classes and Objects
C# Advanced Course Introduction SoftUni Team C# Technical Trainers
Presentation transcript:

C# Advanced Topics Methods, Classes and Objects SoftUni Team Technical Trainers Software University

Table of Contents  A very brief introduction to: 1. Methods  Utilizing a piece of code multiple times 2. Using Built-in.NET Classes 3. Defining Simple Classes  Making real life objects into code 2

Methods Defining and Invoking Methods

4  Methods are named pieces of code  Defined in the class body  Can be invoked multiple times  Can take parameters  Can return a value What are methods? static void PrintHyphens(int count) { Console.WriteLine( Console.WriteLine( new string('-', count)); new string('-', count));} static void Main() { for (int i = 1; i <= 10; i++) for (int i = 1; i <= 10; i++) { PrintHyphens(i); PrintHyphens(i); }}

5  Parts of a method: How to define a method public double CalcTriangleArea (double a, double h) { double area = a * h / 2; double area = a * h / 2; return area; return area;} Method nameMethod parameters Return value Return type

6  The void return type means that:  Will not return a value  Will only execute some code without creating a new value Void return type public void printName(string firstName, string lastName) { Console.WriteLine("My full name is: {0} {1}", Console.WriteLine("My full name is: {0} {1}", firstName, lastName); }

7 Methods with Parameters and Return Value static double CalcTriangleArea(double width, double height) { return width * height / 2; return width * height / 2;} static void Main() { Console.Write("Enter triangle width: "); Console.Write("Enter triangle width: "); double width = double.Parse(Console.ReadLine()); double width = double.Parse(Console.ReadLine()); Console.Write("Enter triangle height: "); Console.Write("Enter triangle height: "); double height = double.Parse(Console.ReadLine()); double height = double.Parse(Console.ReadLine()); Console.WriteLine(CalcTriangleArea(width, height)); Console.WriteLine(CalcTriangleArea(width, height));}

Methods Live Demo

Using Built-in.NET Classes Math, Random, Console, etc.

10 .NET Framework provides thousands of ready-to-use classes  Packaged into namespaces like System, System.Net, System.Collections, System.Linq, etc.  Using static.NET classes:  Using non-static.NET classes Built-in Classes in.NET Framework DateTime today = DateTime.Now; double cosine = Math.Cos(Math.PI); Random rnd = new Random(); int randomNumber = rnd.Next(1, 99);

11 Built-in.NET Classes – Examples DateTime today = DateTime.Now; Console.WriteLine("Today is: " + today); DateTime tomorrow = today.AddDays(1); Console.WriteLine("Tomorrow is: " + tomorrow); double angleDegrees = 60; double angleRadians = angleDegrees * Math.PI / 180; Console.WriteLine(Math.Cos(angleRadians)); Random rnd = new Random(); Console.WriteLine(rnd.Next(1,100)); WebClient webClient = new WebClient(); webClient.DownloadFile(" "file.pdf"); webClient.DownloadFile(" … ", "file.pdf");Process.Start("file.pdf");

Using Built-in.NET Classes Live Demo

Defining Simple Classes Using Classes to Hold a Set of Fields

14  Classes in C# combine a set of named fields / properties  Defining a class Point holding X and Y coordinates:  Creating class instances (objects): Classes in C# class Point { public int X { get; set; } public int X { get; set; } public int Y { get; set; } public int Y { get; set; }} Point start = new Point() { X = 3, Y = 4 }; Point end = new Point() { X = -1, Y = 5 };

15  We can create arrays and lists of objects: Arrays of Objects Point[] line = new Point[] { new Point() { X = -2, Y = 1 }, new Point() { X = -2, Y = 1 }, new Point() { X = 1, Y = 3 }, new Point() { X = 1, Y = 3 }, new Point() { X = 4, Y = 2 }, new Point() { X = 4, Y = 2 }, new Point() { X = 3, Y = -2 }, new Point() { X = 3, Y = -2 },}; for (int i = 0; i < line.Length; i++) { Console.WriteLine("Point(" + line[i].X + ", " + line[i].Y + ")"); Console.WriteLine("Point(" + line[i].X + ", " + line[i].Y + ")");}

16 Defining and Using Classes – Example class Person { public string FirstName { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string LastName { get; set; } public int Age { get; set; } public int Age { get; set; }}… Person[] people = new Person[] { new Person() { FirstName = "Larry", LastName = "Page", Age = 40}, new Person() { FirstName = "Larry", LastName = "Page", Age = 40}, new Person() { FirstName = "Steve", LastName = "Jobs", Age = 56}, new Person() { FirstName = "Steve", LastName = "Jobs", Age = 56}, new Person() { FirstName = "Bill", LastName = "Gates", Age = 58}, new Person() { FirstName = "Bill", LastName = "Gates", Age = 58},};

17 Defining and Using Classes – Example (2) Console.WriteLine("Young people: "); foreach (var p in people) { if (p.Age < 50) if (p.Age < 50) { Console.WriteLine("{0} (age: {1})", p.LastName, p.Age); Console.WriteLine("{0} (age: {1})", p.LastName, p.Age); }} var youngPeople = people.Where(p => p.Age p.Age < 50); foreach (var p in youngPeople) { Console.WriteLine("{0} (age: {1})", p.LastName, p.Age); Console.WriteLine("{0} (age: {1})", p.LastName, p.Age);}

Defining and Using Simple Classes Live Demo

19  Methods are reusable named code blocks  Can return different type of data .NET Framework provides a rich class library  Math, Random, DateTime, System.Linq  Classes combine a set of fields into a single structure  Objects are instances of classes Summary

? ? ? ? ? ? ? ? ? C# Advanced Topics

License  This course (slides, examples, demos, videos, homework, etc.) is licensed under the "Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International" licenseCreative Commons Attribution- NonCommercial-ShareAlike 4.0 International 21  Attribution: this work may contain portions from  "Fundamentals of Computer Programming with C#" book by Svetlin Nakov & Co. under CC-BY-SA licenseFundamentals of Computer Programming with C#CC-BY-SA

Free Software University  Software University Foundation – softuni.orgsoftuni.org  Software University – High-Quality Education, Profession and Job for Software Developers  softuni.bg softuni.bg  Software Facebook  facebook.com/SoftwareUniversity facebook.com/SoftwareUniversity  Software YouTube  youtube.com/SoftwareUniversity youtube.com/SoftwareUniversity  Software University Forums – forum.softuni.bgforum.softuni.bg