栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

C#类和对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#类和对象

文章目录
  • 一、什么是类和对象
    • 1.类和对象
    • 2.创建类
    • 3.创建对象
  • 二、访问修饰符
  • 三、属性
    • 1.属性
    • 2.自动属性
  • 四、构造函数
    • 1.定义
    • 2.特点
  • 五、this关键字
  • 六、类结构
  • 七、static静态
    • 1.静态成员变量
    • 2.静态构造函数
    • 3.静态方法
    • 4.静态类
    • 5.适用性


一、什么是类和对象 1.类和对象

面向对象∶一种软件开发的思想,指导程序员如何分析、解决问题。
类: 是一个抽象的概念,即为生活中的”类别”。
对象: 是类的具体实例,即归属于某个类别的”个体”。
例如︰学生是一个类,表示一种类型,”小明同学”则是一个对象。

名词类型的共性,作为数据成员。
动词类型的共性,作为方法成员。

2.创建类

语法:
访问级别class类名
{
类成员……
}
通常每个类都在一个独立的c#源文件中。
创建新的类意味着在当前项目中产生了一种新的数据类型。

3.创建对象

语法:
类名引用名;
引用名=new构造函数(参数列表);
创建对象的过程也称为”实例化”,


二、访问修饰符

用于修饰类及类成员的访问可见范围。
public:所属类的成员以及非所属类的成员都可以访问。
private:只有所属类的成员才能访问。[类成员的默认级别]


三、属性 1.属性

对字段起保护作用,可实现只读、只写功能。本质就是对字段的读取与写入方法。
语法:
[访问修饰符] 数据类型 属性名
{
get { return字段;}
set {字段=value;}
}

private string loginId;
public string Loginid//首字母要大写
{
     get
     {
         return this.loginId;
     }
     set
     {
         this.loginId = value;
     }
}

1.通常一个公有属性和一个私有字段对应。
2.属性只是外壳,实际上操作的私有字段。

2.自动属性

当属性访问器中不需要任何其他逻辑时,使用自动属性可以更加简洁。
本质就是一个字段两个方法。
语法:
[访问修饰符] 数据类型 属性名{ get ; set; }

public int Password{get;set;}

四、构造函数 1.定义

提供了创建对象的方式,初始化类数据成员的特殊方法。
语法∶
[访问修饰符] 类名([参数])
{
初始化…
}

public User(string loginId,string password)//User 你创建的类的名字
        {
            this.loginId = loginId;
            this.Password = password;
        }
2.特点

1.与类同名。
2.没有返回值,也不能写void。
3.不能被直接调用,必须通过new运算符在创建对象时才会自动调用。
4.每个类都必须至少有一个构造函数,若不提供,编译器自动生成一个无参构造函数。
5.如果程序员定义了构造函数,则编译器不会再提供。


五、this关键字

表示当前对象的引用。
访问当前类成员时,使用this关键字,可以提高代码的可读性。
在没有歧义的情况下,也可以省略。


六、类结构

访问级别class类名
{
字段:存储数据
属性:保护字段
构造函数∶提供创建对象的方式,初始化类的数据成员
方法:向类的外部提供某种功能
}

class User
    {
        //字段 存储数据
        private string loginId;
        private string password;
        
        //属性 保护字段 为字段提供逻辑判断
        public string LoginId
        {
            get
            {
                return loginId;
            }
            set
            {
                this.loginId = value;
            }
        }
        public string Password
        {
            get
            {
                return password;
            }
            set
            {
                this.password = value;
            }
        }

        //构造函数 提供了创建对象的方式,常常用于初始化类的数据成员
        public User()
        {

        }
        public User(string loginId,string password)
        {
            this.LoginId = loginId; //如果输入账号需要进行条件判断,引用LoginId属性
            this.password = password;//输入密码不需要进行条件判断,引用password字段
        }

        //方法
        public void UserPrint()//打印输出账号密码的方法
        {
            Console.WriteLine("{0},{1}",loginId,password);
        }
    }

七、static静态 1.静态成员变量

1.使用static关键字修饰的成员变量。
2.静态成员变量属于类,类被加载时初始化,且只有一份。
3.实例成员变量属于对象,在每个对象被创建时初始化,每个对象一份。
特点∶存在优先于对象,被所有对象所共享,常驻内存。

2.静态构造函数

1.初始化类的静态数据成员。
2.仅在类被加载时执行一次。
3.不允许使用访问修饰符。

3.静态方法

1.通过引用调用实例方法时,会隐式的传递对象引用,以便在方法内部可以正确访问该对象成员变量。
2.通过类名调用静态方法时,因为没有具体对象,所以在static方法中不能访问实例成员。

4.静态类

1.使用static关键字修饰的类。
2.不能实例化,只能包含静态成员。
3.静态类不能被继承,但是静态方法、属性都可以被继承。

5.适用性

利:单独空间存储,所有对象共享,可直接被类名调用。
弊:静态方法中只能访问静态成员,共享数据被多个对象访问会出现并发。

适用场合∶
1.所有对象需要共享的数据。
2.在没有对象前就要访问成员。
3.工具类适合做静态类(常用,不需要过多数据)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号