目录
一、方法的定义和调用
方法的由来、方法的定义和调用、构造器(一种特殊的方法)
方法的重载(Overload)、如何对方法进行debug、方法的调用与栈*
构造器(constructor)是类型的成员之一、狭义的构造器指的是实例构造器(instance construcor)、如何调用构造器、声明构造器、构造器的内存原理
方法的由来
1、方法(method)的前身是c++/c语言的函数(function)
方法是面向对象范畴的概念,在非面向对象语言中仍然称为函数
使用C/C++语言进行对比
2、永远都是类(或结构体)的成员
C#语言中函数不可能独立于类(或结构体)之外
只有作为类(结构体)的成员时才被称为方法;
C++是可以的,称为全局”函数“;
3、是类(结构体)最基本的成员之一
最基本的成员有两个——字段和方法(成员变量和成员方法),本质还是数据+算法
方法表示类(或结构体)“能做什么事情”;
4、为什么需要方法和函数
目的一:隐藏复杂的逻辑;目的二:把大算法分解为小算法;
自顶向下,逐渐求精的方法;目 的三:复用(reuse,重用)
示例:计算圆的面积。圆柱的体积。圆锥的体积。
using System;
namespace ClassFangfa
{
class Program
{
static void Main(string[] args)
{
Calculator z = new Calculator();
//圆的面积
Console.WriteLine((z.Area(10)));
//精确的圆的面积
Console.WriteLine(z.Area1(10));
//圆柱的体积
Console.WriteLine(z.volum(10,10));
Console.WriteLine(z.Volum1(10,10));
//圆锥的体积
Console.WriteLine(z.conevolum(10,10));
Console.WriteLine(z.ConeVolum1(10,10));
Calculator x = new Calculator();
double s = x.Area1(100);
Console.WriteLine(s);
Console.WriteLine("--------------------");
//初始化实例
Program.Calculator px = new Calculator();
int a = 4;
int b = 5;
int c = 6;
double b2 = 4.55;
Console.WriteLine(a+"+"+b+"="+Calculator.Add(a,b));
Console.WriteLine(a + "+" + b2 + "=" + px.Add(a, b2));
Console.WriteLine(a + "+" + b +"+"+c+ "=" + px.Add(a, b,c));
Console.ReadKey();
}
class Calculator
{
//圆的面积
public double Area(double r)
{
return 3.14 * r * r;
}
//圆柱的体积
public double volum(double r, double h)
{
return 3.14 * r * r * h; //3.14*底面半径的平方*高
}
//圆锥的体积
public double conevolum(double r, double h)
{
return 3.14 * r * r * h / 3;
}