methods swe 344 internet protocols & client server programming

13
Methods SWE 344 Internet Protocols & Client Server Programming

Upload: jewel-stokes

Post on 14-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Methods SWE 344 Internet Protocols & Client Server Programming

Methods

SWE 344Internet Protocols & Client Server

Programming

Page 2: Methods SWE 344 Internet Protocols & Client Server Programming

2

Methods are extremely useful because they allow you to separate your logic into different units.

You can pass information to methods, have it perform one or more statements, and retrieve a return value.

The capability to pass parameters and return values is optional and depends on what you want the method to do.

The syntax required for creating a method:

attributes modifiers return-type method-name(parameters )

{ statements }

Method Structure

Page 3: Methods SWE 344 Internet Protocols & Client Server Programming

3

using System;class OneMethod{ public static void Main() { string myChoice; OneMethod om = new OneMethod(); do { myChoice = om.getChoice(); // Make a decision based on the user's choice switch (myChoice) { case "A": case "a": Console.WriteLine("You wish to add an address."); break; case "D": case "d": Console.WriteLine("You wish to delete an address."); break; case "M": case "m": Console.WriteLine("You wish to modify an address."); break;

Example #1: Method Structure

Page 4: Methods SWE 344 Internet Protocols & Client Server Programming

4

case "V": case "v": Console.WriteLine("You wish to view the address list."); break; case "Q": case "q": Console.WriteLine("Bye."); break; default: Console.WriteLine("{0} is not a valid choice",myChoice); break; } // Pause to allow the user to see the results Console.WriteLine(); Console.Write("press Enter key to continue..."); Console.ReadLine(); Console.WriteLine(); } while (myChoice != "Q" || myChoice != "q"); // Keep going until the user wants to quit }

Example #1: Method Structure

Page 5: Methods SWE 344 Internet Protocols & Client Server Programming

5

string getChoice() { string myChoice; // Print A Menu Console.WriteLine("My Address Book\n"); Console.WriteLine("A - Add New Address"); Console.WriteLine("D - Delete Address"); Console.WriteLine("M - Modify Address"); Console.WriteLine("V - View Addresses"); Console.WriteLine("Q - Quit\n"); Console.Write("Choice (A,D,M,V,or Q): "); // Retrieve the user's choice myChoice = Console.ReadLine(); Console.WriteLine(); return myChoice; }}

Example #1: Method Structure

Page 6: Methods SWE 344 Internet Protocols & Client Server Programming

6

using System;class Address{ public string name; public string address;}class MethodParams{ public static void Main() { string myChoice; MethodParams mp = new MethodParams(); do { // show menu and get input from user myChoice = mp.getChoice(); // Make a decision based on the user's choice mp.makeDecision(myChoice); // Pause to allow the user to see the results Console.Write("press Enter key to continue..."); Console.ReadLine(); Console.WriteLine();

} while (myChoice != "Q" || myChoice != "q"); // Keep going until the // user wants to quit

}

Example #2: Method Structure

Page 7: Methods SWE 344 Internet Protocols & Client Server Programming

7

// show menu and get user's choice string getChoice() { string myChoice; // Print A Menu Console.WriteLine("My Address Book\n"); Console.WriteLine("A - Add New Address"); Console.WriteLine("D - Delete Address"); Console.WriteLine("M - Modify Address"); Console.WriteLine("V - View Addresses"); Console.WriteLine("Q - Quit\n"); Console.WriteLine("Choice (A,D,M,V,or Q): "); // Retrieve the user's choice myChoice = Console.ReadLine(); return myChoice; } // make decision void makeDecision(string myChoice) { Address addr = new Address(); switch (myChoice) { case "A": case "a": addr.name = "Joe"; addr.address = “Hail"; this.addAddress(ref addr); break;

Example #2: Method Structure

Page 8: Methods SWE 344 Internet Protocols & Client Server Programming

8

case "D": case "d": addr.name = "Robert"; this.deleteAddress(addr.name); break; case "M": case "m": addr.name = "Matt"; this.modifyAddress(out addr); Console.WriteLine("Name is now {0}.", addr.name); break; case "V": case "v": this.viewAddresses("Cheryl", "Joe", "Matt", "Robert"); break; case "Q": case "q": Console.WriteLine("Bye."); break; default: Console.WriteLine("{0} is not a valid choice", myChoice); break; } }

Example #2: Method Structure

Page 9: Methods SWE 344 Internet Protocols & Client Server Programming

9

// insert an address void addAddress(ref Address addr) { Console.WriteLine("Name: {0}, Address: {1} added.", addr.name, addr.address); } // remove an address void deleteAddress(string name) { Console.WriteLine("You wish to delete {0}'s address.", name); } // change an address void modifyAddress(out Address addr) { //Console.WriteLine("Name: {0}.", addr.name); // causes error! addr = new Address(); addr.name = "Joe"; addr.address = “Hail"; } // show addresses void viewAddresses(params string[] names) { foreach (string name in names) { Console.WriteLine("Name: {0}", name); } }}

Example #2: Method Structure

Page 10: Methods SWE 344 Internet Protocols & Client Server Programming

10

ref tells the compiler that the object is initialized before entering the function, while out tells the compiler that the object will be initialized inside the function.

Page 11: Methods SWE 344 Internet Protocols & Client Server Programming

11

Question 2: Find the sum and multiplication of two numbers .Read the numbers from the user.Write the methods for sum and multiplication and return the value.

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace lab3{ class Class1 { public static void Main() { int x, y,sum,mult; Console.Write("Enter first number:"); x = Convert.ToInt16(Console.ReadLine()); Console.Write("Enter second number:");

Page 12: Methods SWE 344 Internet Protocols & Client Server Programming

12

y = Convert.ToInt16(Console.ReadLine()); math m1 = new math(); sum = m1.sum(x, y); mult = m1.mult(x, y);

Console.WriteLine("Sum={0}", sum); Console.WriteLine("Multiplication={0}", mult); Console.ReadLine();   } } class math { public int sum(int a, int b) { return a + b; } public int mult(int a, int b) { return a * b; } }}

Page 13: Methods SWE 344 Internet Protocols & Client Server Programming

13

END