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#基础入门 三的更多相关文章

  1. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

  2. Oracle基础入门(三)

    一:PLsql一些基本操作 调节plsql的字体大小 二:创建表,如果学过sql server的数据库就会发现其实Oracle跟的一些新建表和新增修改其实是差不多的 新建表 Create table ...

  3. C#学习笔记---基础入门(三)

    泛型<T> 使用泛型能够最大限度的重用代码/保护类型安全,提高性能 泛型成员因为类型的不确定性,不能使用算术运算符/比较运算符 类型参数可以有多个,可以是编译器能够识别的任何类型 类型参数 ...

  4. Java基础入门 - 三种注释及文档注释详解

    类似C/C++,Java也支持单行和多行注释 注释中的字符在编译时会被忽略 注释通常为类.变量和方法的主要描述 单行注释 // 注释内容 多行注释 /* 注释内容 */ /* * 注释内容 */ 文档 ...

  5. Mybatis框架基础入门(三)--Mapper动态代理方式开发

    使用MyBatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper动态代理开发方法. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类,此方式开发Dao,存在以下问题: Dao方 ...

  6. PHP基础入门(三)---PHP函数基础

    PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...

  7. MyBatis基础入门《三》Select查询集合

    MyBatis基础入门<三>Select查询集合 描述: 代码新增了一个MybatisUtil工具类,查询数据库返回集合的时候,接收数据的三种方式.由于代码会渐渐增多,未涉及改动过的文件不 ...

  8. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  9. IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁

    [来源申明]本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:<中国通信的百年沉浮>,本文引用时已征得原作者同意.为了更好的内容呈现,即时通讯网在收录时内容有 ...

随机推荐

  1. 爬虫的三种解析方式(正则解析, xpath解析, bs4解析)

    一 : 正则解析 : 常用正则回顾: 单字符: . : 除换行符以外的所有字符 [] : [aoe] [a-w] 匹配集合中任意一个字符 \d : 数字 [0-9] \D : 非数字 \w : 非数字 ...

  2. C# using语句的使用

    使用时注意事项 ①using只能用于实现了IDisposable接口的类型,禁止为不支持IDisposable接口的类型使用using语句,否则会出现编译错误:②using语句适用于清理单个非托管资源 ...

  3. leetcode477

    public class Solution { public int TotalHammingDistance(int[] nums) { , n = nums.Length; ; j < ; ...

  4. dart 公共变量

    dart中可以直接在一个文件里声明一个变量,这在其他语言中并不常见,比如c#语言只有类型才可以在命名空间下定义,变量必须放在类里声明 所以dart这点特性类似于js 今天就来讨论这个公共变量的作用范围 ...

  5. spring boot 项目打包到maven仓库供其它模块使用

    在对spring boot项目进行打包发布的时候发现其它spring boot项目服务真正引用使用该spring boot包中的类 需对打包插件做如下修改: <build> <plu ...

  6. [Android]RecyclerView添加HeaderView出现宽度问题

    通过getItemViewType方式判断HeaderView方式添加HeaderView的,结果发现有几个界面HeaderView宽度不能满屏. 于是对比了几种布局,发现LinearLayout为根 ...

  7. 前端生成二维码 - Javascript生成二维码(QR)

    前段时间项目中需要动态的生成二维码,经过评估,前后端生成都可以.但后端生成会有两个问题: 没有找到正规发布出来的后端开源库. 二维码图片,会随着商品的增加而不断变多. 基于以上两个问题,决定在前端生成 ...

  8. aop编程术语

  9. Echarts在java中使用

    index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  10. Mysql双机热备实现数据库高可用

    mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器. 双机热备的条件是双机mysql版本必须一致. 服务器分 ...