Successfully reported this slideshow.

05 iec t1_s1_oo_ps_session_07

722 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

05 iec t1_s1_oo_ps_session_07

  1. 1. Object-Oriented Programming Using C#Objectives In this session, you will learn to: Describe memory allocation Use structure Use enumerations Implement arrays Use collections Ver. 1.0 Session 7 Slide 1 of 32
  2. 2. Object-Oriented Programming Using C#Describing Memory Allocation The memory allocated to variables is referred to in the following ways: – Value types: Contains data. Built-in data types, such as int, char, and float are value types. – Reference types: Contains address referring to a block of memory. Data types, such as string and class are reference types. Let us understand the concept of memory allocation in detail. Ver. 1.0 Session 7 Slide 2 of 32
  3. 3. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Value Type: int Num1; Variable Declaration Num1=50; Num1 Initialization 50 Both Num1 and Num2 Contain 50 Num2 50 int Num2; Variable Declaration Num2=Num1; Initializing Num2 with Num1 Ver. 1.0 Session 7 Slide 3 of 32
  4. 4. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Value Type (Contd.): Num1 New Value Assigned to Num1 Num1=60; 60 The Value of Num2 Remains Unaffected Num2 50 Ver. 1.0 Session 7 Slide 4 of 32
  5. 5. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Reference Type: Car Suzuki= new Car(); Object of Class Car() Suzuki.Model=10; Initialization Member Variable of Class Car() Car Mercedes; Object of Class Car() Mercedes=Suzuki; Initializing Mercedes with Suzuki Ver. 1.0 Session 7 Slide 5 of 32
  6. 6. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Reference Type (Contd.): Suzuki Referring to Memory *** Location Where the Data is Stored 10 Mercedes Referring to Memory *** Location Where the Data is Stored Ver. 1.0 Session 7 Slide 6 of 32
  7. 7. Object-Oriented Programming Using C#Using Structure • A structure is a value type data type. • When you want a single variable to hold related data of various data types, you can create a structure. • To create a structure you use the struct keyword. • The following code shows the example of a declaring a structure names Bill_Details: struct Bill_Details { public string inv_No; // Invoice Number string ord_Dt; // Order Date string custName; // Customer name Ver. 1.0 Session 7 Slide 7 of 32
  8. 8. Object-Oriented Programming Using C#Using Structure (Contd.) public string product; // Product Name public double cost; // Cost of the product public double due_Amt; // Total amount due } Ver. 1.0 Session 7 Slide 8 of 32
  9. 9. Object-Oriented Programming Using C#Using Enumeration • Enumeration is a value type data type. • Enumeration contains its own values and cannot inherit or pass inheritance. • Enumerators allows you to assign symbolic names to integral constants. • To enumerate, you can use the enum keyword. Ver. 1.0 Session 7 Slide 9 of 32
  10. 10. Object-Oriented Programming Using C#Declaring an Enumeration • The following code is an example of declaring an enumeration named Days: enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; Ver. 1.0 Session 7 Slide 10 of 32
  11. 11. Object-Oriented Programming Using C#Implementing Enumerations After declaring the enumeration type, you can use the enumeration type in the same manner as any other data type: int First_Day = (int)Days.Sat; int Last_Day = (int)Days.Fri; Ver. 1.0 Session 7 Slide 11 of 32
  12. 12. Object-Oriented Programming Using C#Implementing Arrays An array is a collection of values of the same data type. The following figure shows the array structure in the system’s memory. Index Index Value 0 Value 6 Ver. 1.0 Session 7 Slide 12 of 32
  13. 13. Object-Oriented Programming Using C#Declaring an Array An array needs to be declared before it can be used in a program. You can declare an array by using the following statement: datatype[] Arrayname; Let us understand the explanation of the various elements of the array declaration through an example. Ver. 1.0 Session 7 Slide 13 of 32
  14. 14. Object-Oriented Programming Using C#Declaring an Array (Contd.) int[ ] Score; Datatype Is used to specify the data type for the elements Ver. 1.0 Session 7 Slide 14 of 32
  15. 15. Object-Oriented Programming Using C#Declaring an Array (Contd.) int[ ] Score; [] Is used to specify the rank of the array Ver. 1.0 Session 7 Slide 15 of 32
  16. 16. Object-Oriented Programming Using C#Declaring an Array (Contd.) int[ ] Score; Arrayname Is used to specify the name of the array using which the elements of the array will be initialized and manipulated Ver. 1.0 Session 7 Slide 16 of 32
  17. 17. Object-Oriented Programming Using C#Initializing and Assigning Values to Array • In C#, you can initialize the array variable and can assign values to the array elements. In addition, you can copy the array variable to another variable. • During initialization, you need to use the new keyword to create an instance of the array. In addition, the size of the array is also specified while it is initialized. • The following is an example of array initialization: int[] Score; // Array declaration Score = new int[10]; //Array Instance Ver. 1.0 Session 7 Slide 17 of 32
  18. 18. Object-Oriented Programming Using C#Initializing and Assigning Values to Array (Contd.) You can assign values to each element of the array by using the index number, which is called the array subscript of the element. The following is an example of assigning values to the array: int[] Score = new int[3]; Score[0]=10; Or int[] Score={5,10,15}; When you copy the array variable, both the source and target variable refer to the same array instance in the memory. The following is an example of copying the array variables: int[] Source = new int[10] {0, 1, 2, 3, 4}; int[] Target= Source; Ver. 1.0 Session 7 Slide 18 of 32
  19. 19. Object-Oriented Programming Using C#Manipulating Array Elements • When an array is initialized, you can access the element values and manipulate them. • The foreach loop is specially used for manipulating arrays. • The following is the syntax of the foreach loop: foreach (type identifier in expression) { //statements } Ver. 1.0 Session 7 Slide 19 of 32
  20. 20. Object-Oriented Programming Using C#Manipulating Array Elements (Contd.) • The following is the example of foreach loop: int[] Numbers = { 4, 3, 2, 1, 0, -1, -2, 9, 5 }; Console.WriteLine("The Contents of an Array is:"); foreach (int K in Numbers) { Console.WriteLine("{0} t",K); } Ver. 1.0 Session 7 Slide 20 of 32
  21. 21. Object-Oriented Programming Using C#Manipulating Array Elements (Contd.) • While declaring a method if you are not sure about the number of arguments passed as a parameter, you can use the param array. • The following is the example of param array: public int Adding_ArrayElement(params int[] List) { int Total = 0; foreach ( int I in List ) { Total += I; } return Total; } Ver. 1.0 Session 7 Slide 21 of 32
  22. 22. Object-Oriented Programming Using C#Demo: Matrix Subtraction Using Arrays Problem Statement: David, a student of California University, is currently pursuing mathematics. He is working on a project named Matrix Subtraction. He needs to perform the following tasks for his project: • Accept data in two Arrays. • Perform the subtraction operation. • Verify the value of subtraction. Help David to create the C# program using Visual Studio IDE. Ver. 1.0 Session 7 Slide 22 of 32
  23. 23. Object-Oriented Programming Using C#Demo: Matrix Subtraction Using Arrays (Contd.) Solution: To solve the preceding problem, David needs to perform the following tasks: 1. Create a console-based application for Matrix Subtraction. 2. Build and execute an application. Ver. 1.0 Session 7 Slide 23 of 32
  24. 24. Object-Oriented Programming Using C#Multidimensional Arrays The rank value of the array is also known as the dimension of the array. The array can be single dimensional or multidimensional. Single dimensional array stores data in a row. Multidimensional array stores data using different dimensions. The following figure is a graphical representation of values stored in a single dimensional array and a multidimensional array. int [] Num; int[,] Num; 0 0 1 2 3 4 1 0 1 2 3 4 Ver. 1.0 Session 7 Slide 24 of 32
  25. 25. Object-Oriented Programming Using C#Multidimensional Arrays (Contd.) • The Array class is the base class for all the arrays in C#. • The Array class provides properties and methods to work with arrays. – Properties: The following table explains some of the most commonly used properties of the Array class. Properties Explanation Length Returns the total number of items in all the dimensions of an array Rank Returns the total number of items in all the dimensions of an array IsFixedSize Return a value indicating if an array has a fixed size or not IsReadOnly Returns a value indicating if an array is read-only or not Ver. 1.0 Session 7 Slide 25 of 32
  26. 26. Object-Oriented Programming Using C#Multidimensional Arrays (Contd.) – Methods: The following table explains some of the most commonly used methods of the Array class. Properties Explanation Sort Performs sort operation on an array passed to it as a parameter Clear Removes all items of an array and sets a range of items in the array to 0 GetLength Returns the number of items in an Array GetValue Returns the value of the specified item in an Array IndexOf Returns the index of the first occurrence of a value in a one-dimensional Array or in a portion of the Array Ver. 1.0 Session 7 Slide 26 of 32
  27. 27. Object-Oriented Programming Using C#Using Collections • Arrays are used to collect the elements of same data type. • The .NET Framework provides several classes that also collect elements in specialized ways. Theses classes are the Collection classes, and are declared in the System.Collections namespace and sub-namespaces. Ver. 1.0 Session 7 Slide 27 of 32
  28. 28. Object-Oriented Programming Using C#Using Collections (Contd.) • The collection classes accept, hold, and return their elements as items. • The element type of collection class is an object. Object is a reference type. • The following figure shows the storage of values in array of type int: STACK HEAP Array @ 9 7 3 2 int [] array= {9, 7, 3, 2}; Ver. 1.0 Session 7 Slide 28 of 32
  29. 29. Object-Oriented Programming Using C#Using Collections (Contd.) The action which automatically converts the value type to the reference type, is known as boxing. The following figure shows the boxing technique. STACK HEAP 7 2 Array @ @ @ @ @ 9 3 int [] array= {9, 7, 3, 2}; Ver. 1.0 Session 7 Slide 29 of 32
  30. 30. Object-Oriented Programming Using C#Using Collections (Contd.) • When you want to access the elements of an array through its index value location in an array, use an ArrayList class. • The following table describes the use of various methods of an ArrayList class. Method Use Add Adds an object to the end of the ArrayList Remove Removes the element at the first occurrence of a specific object from the ArrayList Clear Removes all the elements from the ArrayList Insert Inserts an element into the ArrayList at the specified index TrimToSize Sets the capacity to the actual number of elements in the ArrayList Sort Sorts the elements in the ArrayList Reverse Reverses the element in the ArrayList Ver. 1.0 Session 7 Slide 30 of 32
  31. 31. Object-Oriented Programming Using C#Summary In this session, you learned that: – Memory allocated to variables are of two types, value type and reference type. – Value-types are the simplest types in C#. Variables of value types directly contain their data in the variable. – Reference-types variables contain only a reference to data. The data is stored in a separate memory area. – A value type variable holds its value in the stack. – A reference type variable holds a reference to an object in the heap. – To hold related data of various data type in single variable, structures are used. – C# provides the features of enum to create user defined data types with numbers as an index value to access them. – An array is a collection of values of the same data type. Ver. 1.0 Session 7 Slide 31 of 32
  32. 32. Object-Oriented Programming Using C#Summary (Contd.) – The foreach statement interprets the common loop process and removes the need for you to check the array size. – Param arrays are used in the methods with parameter list when the total number of parameters is not known. – The .NET Framework provides several classes that also collect elements together in other specialized ways. These are the Collection classes, and they live in the System namespace. – ArrayList is useful when you want to manipulate the values in an array easily. Ver. 1.0 Session 7 Slide 32 of 32

×