Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Classes and Objects (Through Ch 5) Dr. John P. Abraham Professor UTPA.

Similar presentations


Presentation on theme: "Introduction to Classes and Objects (Through Ch 5) Dr. John P. Abraham Professor UTPA."— Presentation transcript:

1 Introduction to Classes and Objects (Through Ch 5) Dr. John P. Abraham Professor UTPA

2 Main Method Starting point of every application Console class has many methods including read and write. When using keyboard for input use readLine. You are going to use the Convert class all the time. Get to know this class well.

3 Console.Write and WriteLine ConsoleWriteLine(“{0}\n{1}”, “Welcome to”, “C# Programming!”); Format items are enclosed in curly braces and contain a sequence of characters that tell the method which argument to use and how to format it. Here there are two arguments named {0} and {1}. The first argument will be followed by a new line character.

4 Addition Program explained using System; public class Addition { public static void Main( string[] args ) { int number1; // declare first number to add int number2; // declare second number to add int sum; // declare sum of number1 and number2 Console.Write( "Enter first integer: " ); // prompt user number1 = Convert.ToInt32( Console.ReadLine() ); Console.Write( "Enter second integer: " ); // prompt user number2 = Convert.ToInt32( Console.ReadLine() ); sum = number1 + number2; // add numbers Console.WriteLine( "Sum is {0}", sum ); // display sum } // end Main } // end class Addition

5 Arithmatic + - * / % precedence given to the last three. Relational operators > = <= Equity Operators == !=

6 If statement explained using System; public class Comparison { public static void Main( string[] args ) { int number1; // declare first number to compare int number2; // declare second number to compare Console.Write( "Enter first integer: " ); number1 = Convert.ToInt32( Console.ReadLine() ); Console.Write( "Enter second integer: " ); number2 = Convert.ToInt32( Console.ReadLine() ); if ( number1 == number2 ) Console.WriteLine( "{0} == {1}", number1, number2 ); if ( number1 != number2 ) Console.WriteLine( "{0} != {1}", number1, number2 ); if ( number1 < number2 ) Console.WriteLine( "{0} < {1}", number1, number2 ); if ( number1 > number2 ) Console.WriteLine( "{0} > {1}", number1, number2 ); if ( number1 <= number2 ) Console.WriteLine( "{0} <= {1}", number1, number2 ); if ( number1 >= number2 ) Console.WriteLine( "{0} >= {1}", number1, number2 ); } // end Main

7 A class is like a type You can’t use a class until an instance (an object) of it is made. A class has methods and properties (attributes). You can set and get the properties. Attributes are specified by the class’s instance variable. You can perform operations using methods.

8 Example of a Class declaration using System; public class GradeBook { private string courseName; // course name for this GradeBook public string CourseName //Property { get { return courseName; } // end get set { courseName = value;} // end set } // end property CourseName public void DisplayMessage() { // use property CourseName to get the // name of the course that this GradeBook represents Console.WriteLine( "Welcome to the grade book for\n{0}!", CourseName ); // display property CourseName } // end method DisplayMessage } // end class GradeBook See next slide how to use this class

9 Using the class GradeBook using System; public class GradeBookTest { public static void Main( string[] args ) { GradeBook myGradeBook = new GradeBook(); //object created Console.WriteLine( "Initial course name is: '{0}'\n", myGradeBook.CourseName ); Console.WriteLine( "Please enter the course name:" ); myGradeBook.CourseName = Console.ReadLine(); // set CourseName Console.WriteLine(); // output a blank line myGradeBook.DisplayMessage(); } // end Main } // end class GradeBookTest

10 Setting and Getting values for instance variables Controlled ways of allowing users to access variables Usually get and set are made public so others can access them. Private courseName instance and Public CourseName property. Note the uppercase/lowercase difference. Properties contain accessors that handle the details of returning and modifying data. After defining the property you can just use = to set it or get it by referring to it such as in read. C# auto implements get/set for private instance variables. Example: Public string CourseName {get;set;} – You can assign values like myGradeBook.CourseName=Console.ReadLine();

11 Value Types vs. Reference Types Reference type contains the address of the location in memory where the data resides (refer to an object).

12 Initializing Objects with Constructors By default when an object is created it is initialized to null by default. If we rather have a different value initially, we can use constructors. The “new” operator automatically calls the constructor. See next two slides for example.

13 Gradebook class with a constructor using System; public class GradeBook { public string CourseName { get; set; } public GradeBook( string name ) //constructor { CourseName = name; // set CourseName to name } // end constructor public void DisplayMessage() { Console.WriteLine( "Welcome to the grade book for\n{0}!", CourseName ); } // end method DisplayMessage } // end class GradeBook

14 Test the class using System; public class GradeBookTest { public static void Main( string[] args ) { GradeBook gradeBook1 = new GradeBook("CS101 Introduction to C# Programming" ); // invokes constructor GradeBook gradeBook2 = new GradeBook( // invokes constructor "CS102 Data Structures in C#" ); Console.WriteLine( "gradeBook1 course name is: {0}", gradeBook1.CourseName ); Console.WriteLine( "gradeBook2 course name is: {0}", gradeBook2.CourseName ); } // end Main } // end class GradeBookTest

15 About some Types in C# Value Types Size (in bits) Range sbyte 8 128 to 127 byte 8 0 to 255 short 16 -32768 to 32767 ushort 16 0 to 65535 int 32 147483648 to 2147483647 uint 32 0 to 4294967295 long 64 -9223372036854775808 to 9223372036854775807 ulong 64 0 to 18446744073709551615 char 16 0 to 65535 booltrue, false Enum types and struct types Reference types include class types, interface types, delegate types, and array types Pointer types

16 Floating-Point Numbers and decimal Real numbers can be stored as float, double and decimal. Decimal only stores limited range of decimal points precisely. Float and double stores approximation of real numbers in available spaces. Single precision floating point numbers have seven significant digits whereas the double gives 15 to 16 significant digits. If you indicate a real number with M such as 18.33M, it will be treated as a decimal number. (M stands for money).

17 BANK ACCOUNT EXAMPLE – CLASS WITH CONSTRUCTOR public class Account { private decimal balance; // instance variable that stores the balance public Account( decimal initialBalance ) // constructor { Balance = initialBalance; // set balance using property } // end Account constructor public void Credit( decimal amount ) // credit (add) an amount to the account { Balance = Balance + amount; // add amount to balance } // end method Credit public decimal Balance // a property to get and set the account balance { get { return balance;} // end get set { if ( value >= 0 ) balance = value; } // end set } // validate that value is greater than or equal to 0; } // end class Account

18 Create and manipulate an account using System; public class AccountTest { public static void Main( string[] args ) { Account account1 = new Account( 50.00M ); // create Account object Account account2 = new Account( -7.53M ); // create Account object Console.WriteLine( "account1 balance: {0:C}", account1.Balance ); // display initial balance of each object using a property Console.WriteLine( "account2 balance: {0:C}\n", account2.Balance ); // display Balance property decimal depositAmount; // deposit amount read from user Console.Write( "Enter deposit amount for account1: " ); // prompt and obtain user input depositAmount = Convert.ToDecimal( Console.ReadLine() ); Console.WriteLine( "adding {0:C} to account1 balance\n", depositAmount ); account1.Credit( depositAmount ); // add to account1 balance Console.WriteLine( "account1 balance: {0:C}", account1.Balance ); // display balances Console.WriteLine( "account2 balance: {0:C}\n", account2.Balance ); Console.Write( "Enter deposit amount for account2: " ); depositAmount = Convert.ToDecimal( Console.ReadLine() ); Console.WriteLine( "adding {0:C} to account2 balance\n", depositAmount ); account2.Credit( depositAmount ); // add to account2 balance Console.WriteLine( "account1 balance: {0:C}", account1.Balance ); Console.WriteLine( "account2 balance: {0:C}", account2.Balance ); } // end Main } // end class AccountTest

19 Your Third Assignment Write a program to calculate an estimate on a paint job. User will enter Price of paint per gallon, and length and height of each wall. Amount of paint needed will be calculated from sqft as well as labor cost. Create and use classes.


Download ppt "Introduction to Classes and Objects (Through Ch 5) Dr. John P. Abraham Professor UTPA."

Similar presentations


Ads by Google