C#---刘铁锰 C#语言入门详解 学习笔记06(P8P9)(方法的定义,调用和调试)

主要内容:方法的由来,方法的定义和调用,构造器(特殊的方法),方法的重载,方法的调试,

 (什么是构造函数,构造函数的特点,带参数的构造函数,不带参数的构造函数)

方法的调用与栈的关系。

方法的由来:面向对象称方法,面向过程为函数

方法永远都是类(或结构体)的成员:(只有作为类或结构体的成员时才被称为方法)

        C#中,方法不可能独立于类而存在,方法的声明放在类之外、其他函数体内,都不行

        (C++中是可以存在的,成为全局函数)

方法是类(或结构体)最基本的成员之一(最基本是两个:字段与方法,又成为成员变量与成员函

数)(本质还是数据+算法)(表示类能做什么事情)

目的:隐藏复杂逻辑,分解算法(自顶向下,逐步求精)(面向过程的标准思想),复用

C#中,方法的声明和定义不分家(C++里面有头文件,分家)

声明:方法命名用动词或动词短语命名,形参(parameter)(变量)

(静态方法和实例方法:对于学生类,要获得学生名字,只能设置实例方法,要看学生总书,则需

要设置静态方法,静态方法表示是整体的,不是个人的)

调用:实参(调用函数时的真实情况)(argument)(值)        ()方法调用操作符

  

构造器:类型的成员之一(构造函数)(特殊的函数)

狭义的构造器是指“实例构造器”   :构建在内存中的内部结构的

new Student(),括号表示调用构造器。

栈内存分配:从比较低到比较高的赋值

默认构造器没有给参数,初始化时通通刷成0;

带参数的构造函数:可以给成员赋予指定的初值;

有带参数的构造函数,就不能调用默认的构造器了;(可以再写一个没有参数的,就可以调用了)

默认构造器:声明引用变量时,先在栈内存里分配四个字节,后(new时)根据实例中的字段给实

例在堆内存分配字段,给实例分配字段时根据字段类型分组来分配,最后再将堆内存地址放在分配

给实例的栈内存里。(默认构造器,都给初始默认值

有参数的构造器:其余一样,主要区别在于。根据实例字段类型来分配堆内存后,int等值类型的字

段会直接在现在分配的堆内存里进行初始化。当出现类类型(引用类型)时(string),本来分配

给该字段的内存,只作为引用变量,接下来会在堆内存里另找一块位置可以容下该实例(string类

型的实例)的位置,将数据存储初始化后,将该部分内存的地址存储在之前分配给该字段的堆内存

里。(两次内存转储)

默认string是null,null本身在内存中有分配空间,不需要再开辟,没有数据

string默认是空,存的地址也是空,所以是null(默认构造器时,string不用再做内存转储)

  public Student(int initid,string initName)
        {
            this.ID = initid;
            this.Name = initName;
        }

方法的重载:方法名一样,但是方法签名不能一样。

签名:方法名,类型形参的个数,类型形参的顺序和每一个形参的类型和种类,但不包含返回值类

方法调用与栈:

stack frim:方法调用时在栈内的布局

主调用者(main)与被调用者;

主调者会给被调者参数,这几个参数归主调者管(C#中),先压左边,再压右边

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值