C#基础(203)实例方法和重载方法总结,构造方法与实例方法总结,this关键字
c#方法的重载:分为实例方法重载和静态方法重载俩种
1.实例方法重载的调用特点
首先写三个Add方法和三个Sub方法
public int Add(int a,int b)
{
return a + b;
}
public double Add(double a,double b)
{
return a + b;
}
public double Add(int a,double b)
{
return a + b;
} public int Sub(int a, int b)
{
return a - b;
}
public double Sub(double a, double b)
{
return a - b;
}
public double Sub(int a, double b)
{
return a - b;
}
特点:编译器将自动更具方法的参数个数和类型自动匹配类的对应方法。

2.实例方法重载的好处
1.减少类的对外接口(只显示一个方法),降低类的复杂度。
2.便于用户使用(相同功能的方法名称都一样)和识别
3.实例方法重载的条件
1.方法名称必须一样
2.方法的参数不一样或类型不一样
4.实例方法的无关性
方法的重载与返回值无关
静态方法的重载
1.使用关键字static
2.静态方法的调用格式:类名.方法名
3.使用案例
public static int Add(int a,int b,int c){
return a+b+c;
}
static void main(string [] args){
int res=类名.Add(,,);
Console.WriteLine(res);
}
4.静态成员使用经验
- 静态成员在程序运行时,被调用到内存中,并在系统未关闭之前不会被GC回收、
- 类的成员使用非常频繁的时候,可以考虑使用static修饰,但是不要使用过多
- 静态方法不能直接调用实例成员(静态方法不能直接调用实例方法,如果调用必须采用创建对象的方式)
- 静态方法也能够重载
构造方法相关知识:
问题:如果在初始化对象的时候自定义初始化内容怎么办?
解决:使用有参数的构造方法

有参数构造方法使用总结:
- 参数类型和顺序同样需要和定义规范的一致
- 有参数的构造方法可以让用户轻松选择使用何种方式完成对象的初始化工作
- 使用有参数构造方法能有效避免用户单个初始化对象属性的麻烦
- 如果想要约束用户创建时必须完成某些属性的初始化工作,则可以去掉无参构造方法
构造方法也可以有多个:

this关键字:
1.当成员变量和局部变量重名时使用this区分(不带this一遍的参数为局部变量)

2.this表示当前类的对象,用于访问该类成员变量或方法

构造方法与实例方法的区别:
构造方法:
- 用于对象的初始化,一个类至少有一个构造方法
- 不能显示调用,只能在创建对象的时候调用,使用呢我关键字
- 构造方法不能有返回值
- 构造方法的名称必须和类名一样
实例方法:
- 用于表示对象能干什么,一个类可以没有任何的实例方法
- 只能显示调用:类名.方法名
- 可以有返回值,没有时必须一void表示
- 方法的命名要有意义,一般是“动词+名词”形式,不能与类名相同,命名规范采用Pascal命名法
下一篇:对象初始化器,对象的销毁,基本数据类型和引用数据类型总结,ref和out关键字,快速理解分装.......
未完待续,不足之处,请求指点,谢谢支持,一名努力的程序员......
C#基础(203)实例方法和重载方法总结,构造方法与实例方法总结,this关键字的更多相关文章
- java===java基础学习(12)---方法的重写和重载
覆盖 / 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- C#基础知识之字符串比较方法:“==”操作符;RefernceEquals;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。
一.“==”操作符:String.Equals:ReferenceEquals 方法 1.在编程中实际上我们只需要这两种比较,c#中类型也就这两种 (1)值类型的比较:一般我们就是判断两个值类型实例各 ...
- 【转】Python3 操作符重载方法
Python3 操作符重载方法 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/70769628 以下代码 ...
- JAVA的List接口的remove重载方法调用原理
前言 说真的,平常看源码都是自己看完自己懂,很少有写出来的冲动. 但是在写算法的时候,经常用到java中各种集合,其中也比较常用到remove方法. remove有重载函数,分别传入参数是索引inde ...
- [DOM Event Learning] Section 3 jQuery事件处理基础 on(), off()和one()方法使用
[DOM Event Learning] Section 3 jQuery事件处理基础 on(),off()和one()方法使用 jQuery提供了简单的方法来向选择器(对应页面上的元素)绑定事件 ...
- Java语言程序设计(基础篇) 第六章 方法
第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter) ...
- c#反射重载方法(发现不明确的匹配)
GetMethod(string name) 在反射重载方法时,如果调用此重载方法,会产生 发现不明确的匹配 的错误. 解决方案如下: GetMethod("MethodName" ...
- php魔术方法——属性重载方法
php有一类很神奇的方法,这些方法是保留方法,通常不会在外部被显式调用,他们使用双下划线(__)开头,他们被称为魔术方法(Magic Methods).php官方也不建议定义其他双下划线开头的方法. ...
随机推荐
- Spring理解IOC,DI,AOP作用,概念,理解。
IOC控制反转:创建实例对象的控制权从代码转换到Spring容器.实际就是在xml中配置.配置对象 实例化对象时,进行强转为自定义类型.默认返回类型是Object强类型. ApplicationCon ...
- mac中:不能完成此操作,因为找不到一个或多个需要的项目。(错误代码 -43)
今天使用mac删除某文件时,遇到此错误: 不能完成此操作,因为找不到一个或多个需要的项目.(错误代码 -43) 于是采用命令行删除可以正确删除:在要删除的文件夹坐在目录下执行 rm -rf tes ...
- Target优化
优化目标主要包括以下几方面: 1 优化平面文件 如果目标平面文件在某机器的共享目录下,则该机器最好是专门用于文件存储的,如果还应用于其他非文件存储任务,则会降低加载效率 如果Integration s ...
- Redis 常用操作命令,非常详细!
下面总结并演示了 Redis 的 常用管理命令.key 操作.字符串.集合.列表.散列类型的操作命令. 你需要掌握的 Redis 知识 史上最全 Redis 高可用解决方案总结 为什么分布式一定要有R ...
- vscode mysql v0.3插件 连接不了
环境: centos7.6 x64 python 3.6 插件mysql v0.3 解决办法:回滚插件版本v0.2.3 使用方法注意: https://www.cnblogs.com/-admin- ...
- 【python小工具】linux 低权限密码记录 提权小套路
#!/usr/bin/python import os, sys, getpass, time current_time = time.strftime("%Y-%m-%d %H:%M&qu ...
- 《C++ Primer Plus 第6版》学习笔记
第三章.基本数据类型 整形 short:至少16位 int:至少与short一样长 long:至少32位,且至少与int一样长 long long:至少64位,且至少与long一样长 字符类型 cha ...
- Cookie登录保存
Login.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Log ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(1)- 内核架构编年史
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM内核架构历史. 众所周知,ARM公司是一家微处理器行业的知名企业,ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架 ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC运行过程
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...