深入.net(类及方法)
.net 的命名规则:
帕斯卡命名法 ----- 多个单词说明,且直接连接,并首字母大写(类名、方法名、属性名....)
骆驼命名法---------多个单词说明,且直接连接,并首字母大写,第一个字母“小写”;(成员变量)
下划线命名法-----多个单词之间使用下划线来连接;(成员变量)
匈牙利命名法-----数据类型做前缀(控件命名)
访问修饰符:
1、类中的资源,默认只能在“本类”中使用(private)
2、项目中的资源,默认只能在“本项目”中使用(internal)
【类的默认访问修饰符是: internal】
成员变量的命名:
----- 以“下划线”的方式对变量命名
1、可以通过命名规则不同,快速的在“方法中”,区分“成员变量”和“局部变量”。
成员变量的定义及成员方法的定义:
成员变量设计:
1、类描述业务对象,需要记录的“特征”
2、类中方法与方法之间的数据传递
成员方法设计:
1、类所描述的业务对象,所具有的“业务功能”,写成对外公开的方法
2、类的现有方法中,存在“共用的业务逻辑”,重构成私有方法
3、类中现有方法中,逻辑太过复杂,通过重构私有方法的方式,将复杂逻辑拆分成多个关联的小业务逻辑。
方法优化技术-----重载:
将类中“功能类似”的方法名字全部修改为“方法名一致”。带来的好处,调用者不用再进行繁琐的方法选择,而只需要给出不同的“方法参数”,就可以“自动”的转向对应的方法实现。
规则:
1、方法名必须相同
2、参数列表必须不同(类型、个数、顺序)
3、返回类型与重载无关
类中的“特殊方法”:
1、名字特殊:方法名称必须与“类名”一致
2、形式特殊:方法没有返回类型(连void都没有)
3、用法特殊:不允许通过“显式调用”(通过方法名调用),而是在创建对象时,系统“自动调用”。
----- 构造方法(构造函数),与类同名,且无返回类型,作用初始化类。 (一般是public的,也可以私有的【用法特别】)
----- 构造方法,在“创建对象时”必须被使用。所以,如果您编写的类没有写“构造方法”,系统会自动的帮你生成“无参构造”,但是如果你写有“构造方法”,系统将不在提供该服务!
小贴士:
方法三要素:方法名、参数、返回类型
深入.net(类及方法)的更多相关文章
- Android随笔之——Android时间、日期相关类和方法
今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...
- oracle调用JAVA类的方法
导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了, 1.操作系统需要拥有支持loadjava命令的jdk. 2.加 ...
- C#动态创建和动态使用程序集、类、方法、字段等
C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204) (3) 首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动 ...
- python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)
1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...
- 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
- RBAC类的方法
rbac类的 方法 authenticate($map,$model='')方法 传入查询用户的条件和用户表的MODEL 返回数组包含用户的信息 saveAccessList($authId=null ...
- java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊
java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...
- C#可扩展编程之MEF学习笔记(三):导出类的方法和属性
前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供 ...
- PHP加载另一个文件类的方法
加载另一个文件类的方法 当前文件下有a.php 和b.php,想要在class b中引入class a <?php class a { public $name = ' ...
随机推荐
- H5新特性websocket
websocket也是html5的新增加内容之一,号称是下一代客户端/服务器异步通信办法,私以为虽然有点吹牛的成分,但是以后说不定能成为异步通信的半壁江山,至于取代ajax,我觉的应该不会. webs ...
- Dapper学习 - Dapper的基本用法(三) - CUD
之前介绍了Dapper的查询, 存储过程, 函数的调用, 接下来要说一下Dapper的增删改, 其实Dapper的增删改, 都是同一种模式的. 我就不分开介绍了, 直接在一个例子上展现好了. var ...
- ASP.NET MVC系列:添加控制器
基于MVC的应用程序包含三个部分 Models(模型):对应用程序的数据进行处理 Views(视图):动态生成HTML,显示数据 Controllers(控制器):应用程序中处理用户交互的部分,处理浏 ...
- Web API应用架构设计分析(2)
在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端 ...
- WCF双工通讯以及客户端间的间接通讯
由于学习计划安排不当,对WCF的认知一直停滞不前,最近工作上又用回了WCF,重拾一下,看到蒋老师介绍双工通讯的博文,实践一下,积累一下.原想着WCF的双工通讯就是原本的客户端能调用服务端的方法之余,服 ...
- Ado.net 三[SQL注入,DataAdapter,sqlParameter,DataSet]
1.SQL注入:SQL注入攻击是web应用程序的一种安全漏洞,可以将不安全的数据提交给运用程序,使应用程序在服务器上执行不安全的sql命令.使用该攻击可以轻松的登录运用程序. 例如:该管理员账号密码为 ...
- jquery基本选择器(.class选择器)
//通过class属性值匹配元素<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- PHP 批量生成静态文件目录代码
<?php /** * @author:jiangzaixing 20160314 * 获取静态文件方法 */ class StaticFile { const MAP_FILE_NAME = ...
- GJM : Protobuf -NET 相比Json 传输速度只需要1/3 解析只需要1/10
在序列化速度的跑分中,Protobuf一骑绝尘,序列化速度快,性能强,体积小,所以打算了解下这个利器 1:安装篇 谷歌官方没有提供.net的实现,所以在nuget上找了一个移植的 Nuget里搜索Pr ...
- quartz TRIGGER_STATE变为ERROR解决方法
今天,项目组一个同事说开发环境一直正常quartz定时任务今天不跑了,因为异常已经封装了,所以应该不是没有捕获异常导致.也检查了JobDetail肯定没有重复的任务,最后检查qrtz_triggers ...