当前位置: 首页 > article >正文

C#类的概念

C#中类的概念

类修饰符 class 类名

{

}

类的修饰符:

public : 不限制对类的访问

protected: 只能从所在的类和所在类的子类(派生类)中进行访问

internal: 同一个程序集的任何代码都可以进行访问

private: 只有其所在的类才能访问

abstract: 抽象类

sealed : 密封类,不允许被继承

构造函数和析构函数

对象的生命周期从构造函数开始,以析构函数结束

.net framework类库有垃圾回收功能,会自动调用该类的析构函数实现垃圾回收

析构函数无法调用,是自动调用的。

对象的创建

Test test = new Test() ;

test对象就是一个对象的引用,这个引用在内存中为对象分配存储空间。

对象的引用

C#中一切都可以看成对象,真正的操作标识符实质上是一个引用

引用的语法

类名  对象引用名称   Demo01 d1,  d1就是对象引用的名称

引用和对象关联的语法

Demo01 d1 = new Demo01() ;  d1的是对象的而引用,后面new是对象

引用只是存放一个对象的内存地址,并非存放一个对象

this关键字

应用一:

private void setName(String name)

{

        this.name = name ;

}

this关键字来代表本类对象的引用,this关键字被隐式的用于以用对象的成员变量和方法。

this引用的就是本类的一个对象,再局部变量或方法参数覆盖了成员变量时,用this来明确引用的式类成员还是局部变量或方法参数。

应用二:

作为方法的返回值

public Book getBook()

{

        return this ;

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassDemo1
{
    class Demo01
    {
        int i = 47;
        public void call()
        {
            Console.WriteLine("调用Call()方法");
            for (int i = 0; i < 3; i++)
            {
                Console.Write(i + " ");
                if (i == 2)
                {
                    Console.WriteLine("\n");
                }
            }
        }
        public Demo01()
        {

        }
        public class Program
        {
            public static void Main(string[] args)
            {
                Demo01 d1 = new Demo01();
                Demo01 d2 = new Demo01();
                d2.i = 60;
                Console.WriteLine("第一个实例对象调用变量i的结果:" + d1.i);//i = 47 ;
                d1.call();
                Console.WriteLine("第二个实例对象调用变量i的结果:" + d2.i); //i = 60 ;
                //说明两个对象是独立的
                d2.call();
                Console.ReadLine();

            }
        }
    }
}


http://www.kler.cn/news/331325.html

相关文章:

  • HarmonyOS Next应用开发——响应式布局之媒体查询
  • 【2024.10.2练习】奶牛晒衣服
  • Vue diff 算法介绍
  • 《江苏科技大学学报(自然科学版)》
  • 解决方法:PDF文件打开之后不能打印?
  • docker 搭建minimalist-web-notepad
  • OpenGL ES 顶点缓冲区和布局(3)
  • spring揭秘25-springmvc04-servlet容器与springmvc容器总结
  • 在线css像素px到Em的转换器
  • 二值图像的面积求取的两种方法及MATLAB实现
  • Java - LeetCode面试经典150题 - 矩阵 (四)
  • 【羊毛资源】华为云开发者云主机免费申请使用指南
  • Docker 容器日志记录与管理:日志输出、轮转与配置实践
  • Qt --- 系统相关---事件、文件操作、多线程编程、网络编程、多媒体
  • SpringBoot整合QQ邮箱
  • 春潮涌动:构建“衣依”服装销售平台的Spring Boot之旅
  • 信息安全工程师(32)认证技术方法
  • Go语言接口与多态
  • Python 中的 os 模块
  • openpnp - 吸嘴校正失败的opencv参数分析