IT111 Module 1 Part 3 Handout PDF

Document Details

HumorousFallingAction4956

Uploaded by HumorousFallingAction4956

Malayan Colleges Laguna

Tags

object-oriented programming methods and classes C# programming computer science

Summary

This document is a handout for an IT111 module on object-oriented programming. It covers topics like methods, classes, modifiers, and predefined methods in C#. The material includes examples, syntax and explanations for programming concepts.

Full Transcript

IT111 Concepts of Object Oriented Programming Module 1.6 Mr. Adomar L. Ilao Anatomy of a Method Methods defined inside classes Group program statements Based on functionality Called one or more times All programs consist of at least one method Main( )...

IT111 Concepts of Object Oriented Programming Module 1.6 Mr. Adomar L. Ilao Anatomy of a Method Methods defined inside classes Group program statements Based on functionality Called one or more times All programs consist of at least one method Main( ) User-defined method using System; namespace Square { public class SquareExample { public static void Main( ) Required method { int aValue = 768; int result; result = aValue * aValue; Console.WriteLine(“{0} squared is {1}”, aValue, result); Console.Read( ); } } } Anatomy of a Method (continued) Figure 4-1 Method components Modifiers Appear in method headings Appear in the declaration heading for classes and other class members Indicate how it can be accessed Types of modifiers Static Access Static Modifier Indicates member belongs to the type itself rather than to a specific object of a class Main( ) must include static in heading Members of the Math class are static public static double Pow(double, double) Methods that use the static modifier are called class methods Instance methods require an object Access Modifiers public protected internal protected internal private Level of Accessibility Return Type Indicates what type of value is returned when the method is completed Always listed immediately before method name void No value being returned return statement Required for all non-void methods Compatible value Return Type (continued) Return type public static double CalculateMilesPerGallon (int milesTraveled, double gallonsUsed) { return milesTraveled / gallonsUsed; } Compatible value (double) returned Method Names Follow the rules for creating an identifier Pascal case style Action verb or prepositional phrase Examples CalculateSalesTax( ) AssignSectionNumber( ) DisplayResults( ) InputAge( ) ConvertInputValue( ) Parameters Supply unique data to method Appear inside parentheses Include data type and an identifier In method body, reference values using identifier name Parameter refers to items appearing in the heading Argument for items appearing in the call Formal parameters Actual arguments Parameters (continued) public static double CalculateMilesPerGallon (int milesTraveled, double gallonsUsed) { return milesTraveled / gallonsUsed; } Two formal parameters Call to method inside Main( ) method Console.WriteLine(“Miles per gallon = {0:N2}”, CalculateMilesPerGallon(289, 12.2)); Actual arguments Parameters (continued) Like return types, parameters are optional Keyword void not required (inside parentheses) – when there are no parameters public void DisplayMessage( ) { Console.Write(”This is “); Console.Write(”an example of a method ”); Console.WriteLine(“body. ”); return; // no value is returned } Method Body Enclosed in curly braces Include statements ending in semicolons Declare variables Do arithmetic Call other methods Value-returning methods must include return statement Calling Class Methods Invoke a method Call to method that returns no value [qualifier].MethodName(argumentList); Qualifier – Square brackets indicate optional – class or object name Call to method does not include data type Use Intellisense Predefined Methods Extensive class library Console class Overloaded methods Write( ) WriteLine( ) Read( ) Not overloaded Returns an integer Intellisense After After typing the dot, typing the dot, list list of of members members pops pops up up Method signature(s) and description Method signature(s) and description 3-D fuchsia colored box — Figure 4-2 Console class members methods aqua colored box — fields (not shown) Intellisense Display string argument expected string parameter 18 different Write( ) methods Figure 4-3 IntelliSense display Intellisense Display (continued) Figure 4-4 Console.Read ( ) signature Figure 4-5 Console.ReadLine ( ) signature Call Read( ) Methods int aNumber; Console.Write(“Enter a single character: ”); aNumber = Console.Read( ); Console.WriteLine(“The value of the character entered: ” + aNumber); Enter a single character: a The value of the character entered: 97 Call Read( ) Methods (continued) int aNumber; Console.WriteLine(“The value of the character entered: “ + (char) Console.Read( )); Enter a single character: a The value of the character entered: a Call ReadLine( ) Methods More versatile than the Read( ) Returns all characters up to the enter key Not overloaded Always returns a string String value must be parsed Call Parse( ) Predefined static method All numeric types have a Parse( ) method – double.Parse(“string number”) – int.Parse(“string number”) – char.Parse(“string number”) – bool.Parse(“string number”) Expects string argument – Argument must be a number – string format Returns the number (or char or bool) using System; namespace AgeExample { public class AgeIncrementer { public static void Main( ) { int age; string aValue; Console.Write(“Enter your age: “); aValue = Console.ReadLine( ); age = int.Parse(aValue); Console.WriteLine(“Your age next year” + “ will be {0}”, ++age); Console.Read( ); } } } using System; namespace Square { class SquareInputValue { static void Main( ) { string inputStringValue; double aValue, result; Console.Write(“Enter a value to be squared: ”); inputStringValue = Console.ReadLine( ); aValue = double.Parse(inputStringValue); result = Math.Pow(aValue, 2); Console.WriteLine(“{0} squared is {1}”, aValue, result); } } } Call Parse( ) (continued) string sValue = “True”; Console.WriteLine (bool.Parse(sValue)); // displays True string strValue = “q”; Console.WriteLine(char.Parse(strValue)); // displays q Call Parse( ) with Incompatible Value Console.WriteLine(char.Parse(sValue)); when sValue referenced “True” Figure 4-6 System.FormatException run-time error Convert Class More than one way to convert from one base type to another – System namespace — Convert class — static methods – Convert.ToDouble( ) – Convert.ToDecimal( ) – Convert.ToInt32( ) – Convert.ToBoolean( ) – Convert.ToChar( ) int newValue = Convert.ToInt32(stringValue); Math( ) Class double aValue = 78.926; Each call returns a value double result1, result2; result1 = Math.Floor(aValue); // result1 = 78 result2 = Math.Sqrt(aValue); // result2 = 8.88403061678651 Console.Write(“aValue rounded to 2 decimal places” + “ is {0}”, Math.Round(aValue, 2)); aValue rounded to 2 decimal places is 78.93 Method Calls That Return Values Line 1 int aValue = 200; In an assignment statement Line 2 int bValue = 896; Line 3 int result; Line 4 result = Math.Max(aValue, bValue); // result = 896 Line 5 result += bValue * Line 6 Math.Max(aValue, bValue) – aValue; // result = 896 + (896 * 896 - 200) (result Part of=arithmetic 803512)expression Line 7 Console.WriteLine(“Largest value between {0} ” Line 8 + “and {1} is {2}”, aValue, bValue, Line 9 Math.Max(aValue, bValue)); Argument to another method call Writing Your Own Class Methods [modifier(s)] returnType MethodName ( parameterList ) { // body of method - consisting of executable statements } void Methods – Simplest to write – No return statement C# Programming: From Problem Analysis to 38 C# Programming: From Problem Analysis to 39 Writing Your Own Class Methods – void Types class method public static void DisplayInstructions( ) { Console.WriteLine(“This program will determine how ” + “much carpet to purchase.”); Console.WriteLine( ); Console.WriteLine(“You will be asked to enter the ” + “ size of the room and ”); Console.WriteLine(“the price of the carpet, ” + ”in price per square yards.”); Console.WriteLine( ); } 40 Writing Your Own Class Methods – void Types (continued) public static void DisplayResults(double squareYards, double pricePerSquareYard) { Console.Write(“Total Square Yards needed: ”); Console.WriteLine(“{0:N2}”, squareYards); Console.Write(“Total Cost at {0:C} “, pricePerSquareYard); Console.WriteLine(“ per Square Yard: {0:C}”, (squareYards * pricePerSquareYard)); } static method called from within the class where it resides To invoke method – DisplayResults(16.5, 18.95); Value-Returning Method Has a return type other than void Must have a return statement – Compatible value Zero, one, or more data items may be passed as arguments Calls can be placed: – In assignment statements – In output statements – In arithmetic expressions – Or anywhere a value can be used Value-Returning Method (continued) public static double GetLength( ) { string inputValue; int feet, inches; Return type→ Console.Write(“Enter the Length in feet: ”); double inputValue = Console.ReadLine( ); feet = int.Parse(inputValue); Console.Write(“Enter the Length in inches: “); inputValue = Console.ReadLine( ); inches = int.Parse(inputValue); double return (feet + (double) inches / 12); returned } CarpetExampleWithClassMethods using System; namespace CarpetExampleWithClassMethods { public class CarpetWithClassMethods { public static void Main( ) { double roomWidth, roomLength, pricePerSqYard, noOfSquareYards; DisplayInstructions( ); // Call getDimension( ) to get length roomLength = GetDimension(“Length”); CarpetExampleWithClassMethods (continued) using System; namespace CarpetExampleWithClassMethods { public class CarpetWithClassMethods { public static void Main( ) { double roomWidth, roomLength, pricePerSqYard, noOfSquareYards; DisplayInstructions( ); // Call getDimension( ) to get length roomLength = GetDimension(“Length”); roomWidth = GetDimension(“Width”); pricePerSqYard = GetPrice( ); noOfSquareYards = DetermineSquareYards(roomWidth, roomLength); DisplayResults(noOfSquareYards, pricePerSqYard); } public static void DisplayInstructions( ) { Console.WriteLine(“This program will determine how much " + “carpet to purchase.”); Console.WriteLine( ); Console.WriteLine("You will be asked to enter the size of ” + “the room "); Console.WriteLine(“and the price of the carpet, in price per” + “ square yds.”); Console.WriteLine( ); } public static double GetDimension(string side ) { string inputValue; // local variables int feet, // needed only by this inches; // method Console.Write("Enter the {0} in feet: ", side); inputValue = Console.ReadLine( ); feet = int.Parse(inputValue); Console.Write("Enter the {0} in inches: ", side); inputValue = Console.ReadLine( ); inches = int.Parse(inputValue); // Note: cast required to avoid int division return (feet + (double) inches / 12); } public static double GetPrice( ) { string inputValue; // local variables double price; Console.Write(“Enter the price per Square Yard: "); inputValue = Console.ReadLine( ); price = double.Parse(inputValue); return price; } public static double DetermineSquareYards (double width, double length) { const int SQ_FT_PER_SQ_YARD = 9; double noOfSquareYards; noOfSquareYards = length * width / SQ_FT_PER_SQ_YARD; return noOfSquareYards; } public static double DeterminePrice (double squareYards, double pricePerSquareYard) { return (pricePerSquareYard * squareYards); } public static void DisplayResults (double squareYards, double pricePerSquareYard) { Console.WriteLine( ); Console.Write(“Square Yards needed: ”); Console.WriteLine("{0:N2}", squareYards); Console.Write("Total Cost at {0:C} ", pricePerSquareYard); Console.WriteLine(“ per Square Yard: {0:C}”, DeterminePrice(squareYards, pricePerSquareYard)); } } // end of class } // end of namespace CarpetExampleWithClassMethods (continued) Figure 4-7 Output from CarpetExampleWithClassMethods

Use Quizgecko on...
Browser
Browser