g第7章 方法.ppt
上传者:wenjun1233211
2022-06-27 19:17:37上传
PPT文件
279 KB
第7章 方法
前言
7.1 方法的定义和调用
7.2 方法的参数
7.3 方法的重载
7.4 静态和非静态方法
总结
1
前言
在面向过程的C语言中,通常
可分为数据和对数据的操作两大部分
在面向对象的C++中,大多数情况下,
数据 成为类的数据成员
对数据的操作 成为类的方法成员
在C#中,任何事物都必须封装在类中…
故C#中没有全局变(常)量和全局函数的概念
返回首页
2
7.1 方法的定义与调用
7.1.1 方法的定义
7.1.2 方法的调用
返回首页
3
7.1.1 函数的定义
C#中的每一个函数一般从五个方面来进行定义:方法修饰符、返回类型、方法名、形式参数表和方法体。
定义一个函数的语法格式为:
[修饰符] <类型名> <方法名> ([<参数表>]) {方法体}
例如:
public int max(int a,int b)
{
int t;
if(a>b) t=a;
else t=b;
return t;
}
返回上节
4
例7-1:给出以下程序的运行结果。
class Ccount{
public int Func(int n)
{ if(n>0)
return 1;
else if(n==0)
return 0;
else return -1;
}
public static void Main()
{
int n;
n=int.Parse(Console.ReadLine());
CCount count=new Ccount();
Console.WriteLine(“返回结果:{0}”,count.Func(n));
}
}
返回上节
5
7.1.2 方法的调用
注意:在C#中,除了主方法main和构造方法,析构方法由系统自动调用外,其他方法都是由主方法直接或间接调用的。
调用的语法格式为:
1. 对象方法: 对象.方法名(实际参数表);
2. 对象内部中调用内部方法:方法名(实际参数表);
3.静态方法: 类.方法名(实际参数表);
注意:C#中没有默认参数的概念,所以都必须传递确定的值;
返回上节
6
7.2 方法的参数
7.2.1 值参数
7.2.2 引用型参数
7.2.3 输出参数
7.2.4 数组型参数
返回首页
7
7.2.1 值参数
记忆:值参数传递的是调用参数的一分拷贝!!!
例7-1 输入a,b两个数,求和
using System;
class Sum{
public float Add(float x,float y){
return x+y;
}
public static void Main(){
float a,b;
Sum obj=new Sum();
Console.Write(“请输入一个浮点数a:”);
a=float.Parse(Console.ReadLine());//转换成浮点数
Console.Write(“请输入一个浮点数b:”);
b=float.Parse(Console.ReadLine());//转换成浮点数
console.WriteLine(“总计:{0}”, obj.Add(a,b));
console.WriteLine(“a={0} b={1}”, a,b);
}
返回上节
8
7.2.2 引用类型(ref)参数
记忆:C#编译器把参数传递指向和调用代码的变量一样的内存中去
例7-2 交换a,b两个数
using System;
class RefSwap{
pub
前言
7.1 方法的定义和调用
7.2 方法的参数
7.3 方法的重载
7.4 静态和非静态方法
总结
1
前言
在面向过程的C语言中,通常
可分为数据和对数据的操作两大部分
在面向对象的C++中,大多数情况下,
数据 成为类的数据成员
对数据的操作 成为类的方法成员
在C#中,任何事物都必须封装在类中…
故C#中没有全局变(常)量和全局函数的概念
返回首页
2
7.1 方法的定义与调用
7.1.1 方法的定义
7.1.2 方法的调用
返回首页
3
7.1.1 函数的定义
C#中的每一个函数一般从五个方面来进行定义:方法修饰符、返回类型、方法名、形式参数表和方法体。
定义一个函数的语法格式为:
[修饰符] <类型名> <方法名> ([<参数表>]) {方法体}
例如:
public int max(int a,int b)
{
int t;
if(a>b) t=a;
else t=b;
return t;
}
返回上节
4
例7-1:给出以下程序的运行结果。
class Ccount{
public int Func(int n)
{ if(n>0)
return 1;
else if(n==0)
return 0;
else return -1;
}
public static void Main()
{
int n;
n=int.Parse(Console.ReadLine());
CCount count=new Ccount();
Console.WriteLine(“返回结果:{0}”,count.Func(n));
}
}
返回上节
5
7.1.2 方法的调用
注意:在C#中,除了主方法main和构造方法,析构方法由系统自动调用外,其他方法都是由主方法直接或间接调用的。
调用的语法格式为:
1. 对象方法: 对象.方法名(实际参数表);
2. 对象内部中调用内部方法:方法名(实际参数表);
3.静态方法: 类.方法名(实际参数表);
注意:C#中没有默认参数的概念,所以都必须传递确定的值;
返回上节
6
7.2 方法的参数
7.2.1 值参数
7.2.2 引用型参数
7.2.3 输出参数
7.2.4 数组型参数
返回首页
7
7.2.1 值参数
记忆:值参数传递的是调用参数的一分拷贝!!!
例7-1 输入a,b两个数,求和
using System;
class Sum{
public float Add(float x,float y){
return x+y;
}
public static void Main(){
float a,b;
Sum obj=new Sum();
Console.Write(“请输入一个浮点数a:”);
a=float.Parse(Console.ReadLine());//转换成浮点数
Console.Write(“请输入一个浮点数b:”);
b=float.Parse(Console.ReadLine());//转换成浮点数
console.WriteLine(“总计:{0}”, obj.Add(a,b));
console.WriteLine(“a={0} b={1}”, a,b);
}
返回上节
8
7.2.2 引用类型(ref)参数
记忆:C#编译器把参数传递指向和调用代码的变量一样的内存中去
例7-2 交换a,b两个数
using System;
class RefSwap{
pub
g第7章 方法