C#基础入门 三
C#基础入门 三
类
- 类使用class关键字进行声明,前面加一个访问修饰符,public class car{}
- 访问修饰符:修师傅可以用来修饰类和类成员等,控制它们的可见度
- 修饰符关键字分别为:public,internal,protected,private
- 使用上面四个访问修饰符可指定下列五个可访问性级别:
- public:访问不受限制;
- protected:访问仅限于包含类或从包含类派生的类型;
- internal:访问仅限于当前程序集;
- protected internal:访问限制到当前程序集或从包含派生的类型的类别;
- private:访问仅限于包含类型。
对象
- 对象是具体的,对象也称为实例,可以存储在命名变量中,也可以存储在数组或集合中。
- 类的对象是使用new运算符创建。
静态类
- 用static修饰符声明的类称为静态类,静态类与普通类基本相同,但存在一个区别,静态类不能实例化,也就是说,不能使用new关键字创建静态类类型的变量。因为没有实例变量,所以要使用类名本身访问静态类的成员。
- 用static修饰的成员称为静态成员,静态方法和属性中不能包含非静态字段和方法。
- 静态字段有两个常见的用法:一是记录已实例化对象的个数,二是存储必须在所有实例之间共享的值。
- 非静态成员是由对象操作的,静态成员则是由类操作的。
类成员
字段
- 字段是直接在类或结构体中声明的任何类型的变量,字段就是其包含类型的“成员”。在类块中通过制定字段的访问级别然后指定字段的类型,再指定字段的名称来声明这些字段,
public string name="zxh";
属性
- 属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值,可以像公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法,这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。
public class Car
{
protected string brand="BMW";
public string Brand
{
get
{
return brand;//get访问器,用来读取属性值
}
set
{
brand = value;//set访问器,用来给属性赋值
}
}
}
注意:不具有访问器的属性被视为只读属性,不具有get访问器的属性被视为只写属性,同时具有这两个访问器的属性是读写属性。如下图(图7),将set注释掉,下面为brand赋值出现错误,此时属性仅为只读。同理将get注释掉,则属性不可读,不可以打印出来。
可将属性标记为public、private、protected、internal或protected internal,同一属性的get和set访问器可能具有不同的访问修饰符,例如,get可能是public以允许来自类型外的只读访问;set可能是private。(仅当属性同时具有get和set访问器时,才能使用访问器修饰符,并且只允许对其中一个访问器使用修饰符)
方法
- 方法其实就是函数,只不过,类内部的函数我们通常称为方法
- 方法是具有特定功能的代码段,方法的使用可以省去重复代码的编写,大大简化程序,提高开发效率。
- 方法可以分为库方法,例如Console.Write(),和自定义方法。
- 方法的定义:访问修饰符 返回值类型(void/int/char...) 函数名(形式参数列表){语句; return 返回值;}
- 定义了一个Run方法
public class Car
{
public string brand="BMW";
public string Brand
{
get
{
return brand;
}
set{ brand = value;}
}
public void Run(int oil)
{
Console.WriteLine("车里有{0}升油", oil);
return;
}
}
- 方法的返回值称为方法的值,只能通过return语句返回给主调函数,一个方法最多只能有一个返回值,方法即使没有返回值也可以使用return来结束方法的执行,回到主调方法,return后面的语句不再执行。
C#基础入门 三的更多相关文章
- Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
- Oracle基础入门(三)
一:PLsql一些基本操作 调节plsql的字体大小 二:创建表,如果学过sql server的数据库就会发现其实Oracle跟的一些新建表和新增修改其实是差不多的 新建表 Create table ...
- C#学习笔记---基础入门(三)
泛型<T> 使用泛型能够最大限度的重用代码/保护类型安全,提高性能 泛型成员因为类型的不确定性,不能使用算术运算符/比较运算符 类型参数可以有多个,可以是编译器能够识别的任何类型 类型参数 ...
- Java基础入门 - 三种注释及文档注释详解
类似C/C++,Java也支持单行和多行注释 注释中的字符在编译时会被忽略 注释通常为类.变量和方法的主要描述 单行注释 // 注释内容 多行注释 /* 注释内容 */ /* * 注释内容 */ 文档 ...
- Mybatis框架基础入门(三)--Mapper动态代理方式开发
使用MyBatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper动态代理开发方法. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类,此方式开发Dao,存在以下问题: Dao方 ...
- PHP基础入门(三)---PHP函数基础
PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...
- MyBatis基础入门《三》Select查询集合
MyBatis基础入门<三>Select查询集合 描述: 代码新增了一个MybatisUtil工具类,查询数据库返回集合的时候,接收数据的三种方式.由于代码会渐渐增多,未涉及改动过的文件不 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁
[来源申明]本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:<中国通信的百年沉浮>,本文引用时已征得原作者同意.为了更好的内容呈现,即时通讯网在收录时内容有 ...
随机推荐
- 爬虫的三种解析方式(正则解析, xpath解析, bs4解析)
一 : 正则解析 : 常用正则回顾: 单字符: . : 除换行符以外的所有字符 [] : [aoe] [a-w] 匹配集合中任意一个字符 \d : 数字 [0-9] \D : 非数字 \w : 非数字 ...
- C# using语句的使用
使用时注意事项 ①using只能用于实现了IDisposable接口的类型,禁止为不支持IDisposable接口的类型使用using语句,否则会出现编译错误:②using语句适用于清理单个非托管资源 ...
- leetcode477
public class Solution { public int TotalHammingDistance(int[] nums) { , n = nums.Length; ; j < ; ...
- dart 公共变量
dart中可以直接在一个文件里声明一个变量,这在其他语言中并不常见,比如c#语言只有类型才可以在命名空间下定义,变量必须放在类里声明 所以dart这点特性类似于js 今天就来讨论这个公共变量的作用范围 ...
- spring boot 项目打包到maven仓库供其它模块使用
在对spring boot项目进行打包发布的时候发现其它spring boot项目服务真正引用使用该spring boot包中的类 需对打包插件做如下修改: <build> <plu ...
- [Android]RecyclerView添加HeaderView出现宽度问题
通过getItemViewType方式判断HeaderView方式添加HeaderView的,结果发现有几个界面HeaderView宽度不能满屏. 于是对比了几种布局,发现LinearLayout为根 ...
- 前端生成二维码 - Javascript生成二维码(QR)
前段时间项目中需要动态的生成二维码,经过评估,前后端生成都可以.但后端生成会有两个问题: 没有找到正规发布出来的后端开源库. 二维码图片,会随着商品的增加而不断变多. 基于以上两个问题,决定在前端生成 ...
- aop编程术语
- Echarts在java中使用
index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- Mysql双机热备实现数据库高可用
mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器. 双机热备的条件是双机mysql版本必须一致. 服务器分 ...