Fork me on GitHub

C#学习笔记(2)类的基本概念

在第二章开始前提一嘴在C#的变量类型与C++基本一致所以不过多赘述,只给出一些定义,

C# 中存在一系列基本数据类型,它们包含整数、浮点数、布尔值(即逻辑值,只能是真或假)、字符、字符串。

(1).C# 中,使用 类型 变量名; 语句声明一个变量。变量遵循先声明,后使用的原则。要使用一个变量,必须先在前面声明它。

(2).C# 中,使用 变量名 = 值; 语句为变量赋值。赋值语句的意思是,在计算出值后,将变量名代表的变量修改为这个值。

(3).C#中,使用类型变量名 = 值; 语句声明一个变量,同时给这个变量赋值。

(4).对变量的首次赋值称为赋初值。C# 中遵循先赋初值,后使用的原则。要将变量用于除赋值外的用途,必须保证这个变量已经被赋初值。(在C#中没有想C++一样的)

(5).C#中,使用 ((类型)值) 表达式将值转换为指定类型。这与 C++ 中 C 风格的类型转换语法相同。在语法上 C# 只支持这一种转换方式,意即,C# 不支持 C++ 中 类型(值) 这样的类型转换。

(6).C#中,支持一些 C++ 中不支持的隐式类型转换。String 加上 long时会首先隐式转换为 string,而两个字符串相加意味着字符串的连接。

2.1类的概述

类是一种活动的数据结构其有三大属性封装,继承,多态

类有数据成员,函数成员组成。

数据成员用于存储数据:由字段(相当于C/C++的变量),常量组成

函数成员用于执行代码:方法(相当于C/C++的函数),属性,运算符,析构函数,构造函数,索引器,事件

 

2.2声明类

类的声明定义新的类的特征和成员,与创建类的实例,但创建实例的模板。类的声明提供下列内容:类的声明,类的特征,类的成员。

Class Student{//关键字 类名

      //类的成员声明

}

2.3创建类的实例

声明类只是说明了类的数据成员与函数成员,而并不会实际的开辟空间来存储。想要创建一个类,并为实际的数据分配内存,需要用到以下三点。

    1.使用关键字new

2.要分配内存的实例的类型名称

3.使用一对圆括号(圆括号中可能有参数也可能没有参数,这取决于构造函数)

形如:

类名 变量名 = new 类名();

var变量名 = new 类名();

类名 变量名;

变量名 = new 类名();

 

2.3类中的访问修饰符

2.3.1类中的访问修饰符的概述

访问修饰符一般出现在类中成员声明之前:

语法:

字段:

访问修饰符 类型 标识符;

方法:

访问修饰符 返回类型 方法名( );

访问修饰符一共五种包括 (private) (public) (protected) (internal) (protected internal)

在本文中只介绍前两种剩余的留到C#继承中讲解。

 

2.3.2private(私有访问)与public(公有访问)

2.3.2.1 private 访问修饰符

私有成员只能从声明它的类的内部访问,其他的类看不见或无法访问它们。

私有访问是默认的访问级别、所以,如果一个成员在声明时不带访问修饰符,那它就是私有成员。还可以使用private访问修饰符显式地将一个成员声明为私有。隐式地声明私有成员和显式地声明在语义上没有不同,两种形式是等价的。

例如,下面的两个声明都指定了private int成员:

int MyInt1;          //隐式声明为私有

private int MyInt2;   //显式声明为私有

 

2.3.2.2 public访问修饰符

实例的公有成员可以被程序中的其他对象访问。必须使用public访问修饰符指定公有访问。

形如public int MyInt;

类C1声明了公有和私有的字段和方法

复制代码
class C1
{
    int F1;  //隐式私有字段
    private int F2;  //显式私有字段
    public int F3;  //公有字段
    void DoCalc() //隐式私有方法
    {
          ……
    }
    public int GetVal()  //公有方法
    {
          ……
    }
{
复制代码

图片描述:

2.4从类的内部访问成员

类的成员仅用其他类成员的名称就可以访问它们。

例如,下面的类声明展示了类的方法对字段和其他方法的访问。即使字段和两个方法被为private,类的所有成员还是可以被类的任何方法(或任何函数成员)访问。

复制代码
class DaysTemp
{
    //字段
    private int High=75;
    private int Low=45;
    //方法
    private int Get High()
    {
        return High;//访问私有字段
    )
    private int Get Low()
    {
        return Low;//访问私有字段
    }
    public float Average()
    {
        return (GetHigh() + GetLow()) / 2;
    }
}
复制代码

2.5从类的外部访问成员

要从类的外部访问实例成员,必须包括变量名称和成员名称,中间用句点(.)分隔。这称为点运算符,后文会详细讨论。

例如,下面代码的第二行展示了一个从类的外部访问方法的示例:

DaysTempmyDt =new DaysTemp();//创建类的对象

float fValue=myDt. Average();//从外部访问

 

DaysTemp内的两个字段被声明为public,所以可以从类的外部访问它们。

方法Main是类Program的成员。它创建了一个变量和类DaysTemp的对象,并给对象的字段赋值。然后它读取字段的值并打印出来。

复制代码
class DaysTemp//声明类DaysTemp
{
    public int High=75;
    public int Low=45;
}
class Program//声明类Program
{
    static void Main()
    {
        DaysTemp temp=new DaysTemp();  //创建对象
        temp.High=85;//字段赋值
        temp.Low = 60;
        
        Console.WriteLine(“High:   {0}”,temp.High);
        Console.WriteLine($”Low:   {temp.Low}”);
    }
}
复制代码
posted @   衔清风与共  阅读(217)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示