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. 「小程序JAVA实战」小程序视图之细说列表渲染(14)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-14/ 列表的渲染,不管是任何语言都有列表这个概念.源码:https://github.com/li ...

  2. 跟我学算法-Logistic回归

    虽然Logistic回归叫回归,但是其实它是一个二分类或者多分类问题 这里的话我们使用信用诈骗的数据进行分析 第一步:导入数据,Amount的数值较大,后续将进行(-1,1)的归一化 data = p ...

  3. Java设计模式学习06——静态代理与动态代理(转)

    原地址:http://blog.csdn.net/xu__cg/article/details/52970885 一.代理模式 为某个对象提供一个代理,从而控制这个代理的访问.代理类和委托类具有共同的 ...

  4. mysql语句与sql语句的基本区别

    . MySQL支持enum和set类型,SQL Server不支持: . MySQL不支持nchar.nvarchar.ntext类型: . MySQL数据库的递增语句是AUTO_INCREMENT, ...

  5. C++11之nullptr

    [C++11空指针] 1.NULL的问题 class Test { public: void TestWork(int index) { std::cout << "TestWo ...

  6. Python_11-正则表达式

    目录: 1.1      引言 1.2      python 正则式概述及常用字符 1.2.1       元字符 1.2.2       用 "" 开始的特殊字符所表示的预定义 ...

  7. Spring Data JPA动态查询(多条件and)

    entity: @Entity @Table(name = "data_illustration") public class Test { @Id @GenericGenerat ...

  8. 快速上手Runtime(三)之方法交换

    开发过程中,我们经常会用到系统类,而它提供的方法又不能完全满足我们开发的需要,那么在此时,我们需要为系统自带的方法扩展一些功能,而且还要保证原有的功能可正常使用.假设咱们现在有这么一个需求,我们在调用 ...

  9. 275. H-Index II 递增排序后的论文引用量

    [抄题]: Given an array of citations in ascending order (each citation is a non-negative integer) of a ...

  10. linux系统/proc/stat信息与top的cup信息的联系及区别

    一. /proc 目录 Linux系统上的/proc目录是一种文件系统,即proc文件系统,与其它常见的文件系统不同的是,/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...