45
Instructor: Bakhyt Bakiyev Lecture 1

Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

  • Upload
    vandung

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Instructor: Bakhyt Bakiyev

Lecture 1

Page 2: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Recommendations

Prerequisites for this course: Programming in Java / C++

In this course called “Object Oriented Programming” we will not

start from beginning of the programming course like “what is an

integer, what is double, what is if-else or loops, etc.”, instead we

will see how to program windows form applications for desktop.

Page 3: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Grading policy Midterm-1 :

All Lab work marks up to lab7 = 25 marks

All homework marks up to hw6 = 5 marks

Midterm1 = 25 + 5 = 30

Midterm-2 :

All lab work marks from lab8 to lab12 = 10 marks

All homework marks from hw7 to hw12 = 5 marks

Mini project = 15 marks

Midterm2 = 10 + 5 + 15 = 30

Final = 40

Total = M1 + M2 + Final = 30 + 30 + 40 = 100

Page 4: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

C# Overview

C# is a modern, general-purpose, object-oriented programming

language developed by Microsoft.

C# was developed by Anders Hejlsberg and his team during the

development of .Net Framework.

Page 5: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Writing C# Programs on Linux or Mac OS:

Although the.NET Framework runs on the Windows operating

system, there are some alternative versions that work on other

operating systems. Mono is an open-source version of the .NET

Framework which includes a C# compiler and runs on several

operating systems, including various flavors of Linux and Mac

OS.

Mono can be run on many operating systems including Android,

BSD, iOS, Linux, OS X, Windows, Solaris and UNIX.

Page 6: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

C# Program Structure

Let us look at a simple code that would print the words "Hello World":

using System;

namespace HelloWorldApplication

{

class HelloWorld

{

static void Main(string[] args)

{

/* my first program in C# */

Console.WriteLine("Hello World");

Console.ReadKey();

}

}

}

When the above code is compiled and executed, it produces the following result:

Hello World

Page 7: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Let us look at various parts of the previuos program:

The first line of the program using System; - the using keyword is used to include the System namespace in the program.

The next line has the namespace declaration. A namespace is a collection of classes.

The next line has a class declaration, the class HelloWorld contains the data and method definitions that your program uses. The HelloWorld class has only one method Main.

The next line defines the Main method, which is the entry point for all C# programs. The Main method states what the class will do when executed

The next line /*...*/ will be ignored by the compiler and it has been put to add additional comments in the program.

The Main method specifies its behavior with the statement Console.WriteLine("Hello World"); WriteLine is a method of the Console class defined in the System namespace. This statement causes the message "Hello, World!" to be displayed on the screen.

The last line Console.ReadKey(); This makes the program wait for a key press and it prevents the screen from running and closing quickly when the program is launched from Visual Studio .NET.

Page 8: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

It's worth to note the following points:

C# is case sensitive.

All statements and expression must end with a semicolon (;).

The program execution starts at the Main method.

Unlike Java, file name could be different from the class name.

Page 9: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Compile & Execute a C# Program:

If you are using Visual Studio.Net for compiling and

executing C# programs then click the Run button or the F5

key to run the project.

Page 10: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

You can compile a C# program by using the command-

line instead of the Visual Studio IDE:

Open a text editor and add the above-mentioned code.

Save the file as helloworld.cs

Open the command prompt tool and go to the directory where

you saved the file.

Type csc helloworld.cs and press enter to compile your code.

If there are no errors in your code, the command prompt will

take you to the next line and would generate helloworld.exe

executable file.

Next, type helloworld to execute your program.

You will be able to see "Hello World" printed on the screen.

Page 11: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

C# Basic Syntax

In Object-Oriented Programming methodology, a program

consists of various objects that interact with each other by

means of actions. The actions that an object may take are

called methods. Objects of the same kind are said to have the

same type or, more often, are said to be in the same class.

Page 12: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example using System;

namespace RectangleApplication

{ class Rectangle

{ // member variables

double length, width;

public void Acceptdetails()

{ length = 4.5; width = 3.5; }

public double GetArea()

{ return length * width; }

public void Display()

{ Console.WriteLine("Length: {0}", length);

Console.WriteLine("Width: {0}", width);

Console.WriteLine("Area: {0}", GetArea());

}}

class ExecuteRectangle

{ static void Main(string[] args)

{ Rectangle r = new Rectangle();

r.Acceptdetails();

r.Display();

Console.ReadLine();

}}}

Page 13: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

When that code is compiled and executed, it produces the

following result:

Length: 4.5

Width: 3.5

Area: 15.75

Page 14: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Note:

You already familiar with console based applications from previous

years but in this course let’s see how to work with windows form

applications.

Page 15: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

In this course we use Microsoft Visual studio 2010 to learn programming in C#

Page 16: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

We mostly work on developing

Windows form applications in C#

Page 17: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

We learn how to develop windows forms and

buttons and many other things in C#

Page 18: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented
Page 19: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

And we will learn a little bit programming in C#

Page 20: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Message Boxes

Page 21: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Now for the showed example if I press F5

keyword then output will be as below:

Page 22: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Exercise-1

Page 23: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Variables

String:

Page 24: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Integer:

Page 25: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Bool:

Page 26: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Object: Object can take any type of variables.

Page 27: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: If-else

Page 28: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented
Page 29: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Swicth-case

Page 30: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Mathematical operators

Page 31: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Output:

Note: It is not limited, the same operations you can do with subtraction, multiplication and division.

Page 32: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Exercise-2

Page 33: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Array

Example-1: String Array

Or in this way:

Page 34: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example-3: Integer Array

Or in this way:

Page 35: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Lists

Example: String List

Or in this way:

Page 36: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example: Integer List

Page 37: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Topic: Loops

Example: “For” loop

Page 38: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Or in this way:

Or in this way:

Page 39: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example: “Foreach” loop with string

Page 40: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example : “Foreach” loop with integer

Page 41: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example : “Foreach” loop with integer list

Page 42: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example: “while” loop

Page 43: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Example: “do-while” loop

Page 44: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

Lab assignment

Create a calculator application

Page 45: Introduction to OOP in C# - instructor.sdu.edu.kzinstructor.sdu.edu.kz/~bakhyt/OOP/lectures and assignments/lecture1... · C# Overview C# is a modern, general-purpose, object-oriented

End of Lecture 1

Download materials from:

http://instructor.sdu.edu.kz/~bakhyt/