C#类的概念

news/2024/12/22 9:31:02/

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.ppmy.cn/news/1534466.html

相关文章

SQL学习3

24.10.3学习目录 一.c语言操作数据库 一.c语言操作数据库 &#xff08;1&#xff09;打开、关闭数据库函数 //打开数据库 int sqlite3_open(char *db_name,sqlite3 **db);db_name&#xff1a;数据库文件名&#xff0c;若文件名中有ASCLL码中以外的字符&#xff0c;其必须为UT…

基于微信小程序的校园失物招领系统的设计与实现(论文+源码)_kaic

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱&#xff0c;出错率高&#xff0c;信息安全…

国产RISC-V案例分享,基于全志T113-i异构多核平台!

RISC-V核心优势 全志T113-i是一款双核Cortex-A7@1.2GHz国产工业级处理器平台,并内置玄铁C906 RISC-V和HiFi4 DSP双副核心,可流畅运行Linux系统与Qt界面,并已适配OpenWRT系统、Docker容器技术。 而其中的RISC-V属于超高能效副核心,主频高达1008MHz,标配内存管理单元,可运…

【CSS/HTML】实现可扩展性的页面布局

文章目录 1.左右结构&#xff0c;左边100%&#xff1b;右边宽度固定2.左右结构&#xff0c;左边固定&#xff0c;右边100%3.左中右结构&#xff0c;左边固定&#xff0c;右边固定&#xff0c;中间100% 前面有一篇文章讲过 《css实现两列布局&#xff0c;一列固定宽度&#xff…

二、创建drf纯净项目

1)创建项目 django-admin startproject api2&#xff09;创建app django-admin startproject api_app3)修改settings.py注释掉一些没用的配置 INSTALLED_APPS [# django.contrib.admin,# django.contrib.auth,# django.contrib.contenttypes,# django.contrib.sessions,# d…

复习HTML(进阶)

前言 上一篇的最后我介绍了在表单中&#xff0c;上传文件需要使用到 method属性 和enctype属性。本篇博客主要是详细的介绍这些知识 <form action"http://localhost:8080/test" method"post" enctype"multipart/form-data"> method属性…

C/C++/EasyX ——入门图形编程(2)

【说明】这一篇的内容都是很基础的&#xff0c;所以内容会很多&#xff0c;具体现在也不知道要写多少&#xff0c;先写下去吧&#xff0c;新手小白们都不用担心&#xff0c;这个内容不会很难&#xff0c;因为我也是从一无所知过来的&#xff0c;很好入门的&#xff0c;&#xf…

确保接口安全:六大方案有效解决幂等性问题

文章目录 六大方案解决接口幂等问题什么是接口幂等&#xff1f;天然幂等不做幂等会怎么样&#xff1f; 解决方案1&#xff09;insert前先select2&#xff09;使用唯一索引3&#xff09;去重表加悲观锁4&#xff09;加乐观锁之版本号机制5&#xff09;使用 Redisson 分布式锁6&a…