C#类的概念

news/2024/10/4 11:14:12 标签: c#, jvm, java

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.niftyadmin.cn/n/5689856.html

相关文章

手部姿态映射到远程操作机器人

要将手部姿态数据映射到远程操作机器人&#xff0c;可以使用 Python 和一些库&#xff08;如 mediapipe 和 numpy&#xff09;来i简单实现这个功能。以下是一个具体的实现步骤&#xff0c;主要包括手部姿态检测、数据处理和关节位置映射。 1. 环境准备 确保您安装了必要的库&…

SQL_WHERE子句里不能出现COUNT()

在 SQL 中&#xff0c;WHERE 子句通常用于过滤记录&#xff0c;它不能直接与聚合函数&#xff08;如 COUNT()&#xff09;一起使用。聚合函数通常在 SELECT 语句中与 GROUP BY 子句结合使用&#xff0c;以便对一组记录进行聚合计算。 但是&#xff0c;如果你想基于某个计数来过…

使用Spring Boot与AnalyticDB结合通义千问API实现智能PPT生成功能

简介&#xff1a; 随着技术的发展&#xff0c;自动化工具在日常工作中变得越来越重要。今天我们将探讨如何使用Spring Boot框架结合阿里云的AnalyticDB数据库&#xff0c;并利用通义千问&#xff08;Qwen&#xff09;API来实现一个智能生成PPT的功能。这个应用将能够根据用户提…

中阳:为投资者提供稳定的财富增值平台

在瞬息万变的金融市场中&#xff0c;选择一个合适的投资平台至关重要。中阳凭借其丰富的市场经验、先进的技术支持和专业的客户服务&#xff0c;成为众多投资者的首选。本文将深入探讨中阳的核心优势&#xff0c;以及它如何帮助投资者实现财富的稳步增长。 一、丰富的投资产品…

微信小程序使用picker,数组怎么设置默认值

默认先显示请选择XXX。然后点击弹出选择列表。如果默认value是0的话&#xff0c;他就直接默认显示数组的第一个了。<picker mode"selector" :value"planIndex" :range"planStatus" range-key"label" change"bindPlanChange&qu…

maven安装本地jar包到本地仓库

有时候我们需要把本地的 jar 包 install 到本地的 maven 仓库&#xff0c;这时就需要手动install依赖项。例如&#xff0c;把下面的 zhdx-license-1.0.jar 安装到本地 maven 仓库的操作如下&#xff1a; <dependency><groupId>com.zhdx</groupId><artifa…

ipv6和ipv4的区别

IPv6&#xff08;Internet Protocol Version 6&#xff09;和IPv4&#xff08;Internet Protocol Version 4&#xff09;是目前互联网上使用最广泛的两种IP协议。它们之间存在显著的差异&#xff0c;以下是对这些差异的具体分析&#xff1a; 一、地址长度与表示方法 IPv4&…

深入解析 GPT 系列模型:核心原理、应用与未来发展

1. 引言 1.1 GPT 系列模型概述 GPT&#xff08;Generative Pre-trained Transformer&#xff09;是由 OpenAI 开发的一类生成式预训练语言模型。基于 Transformer 架构&#xff0c;GPT 模型具备强大的自然语言处理能力&#xff0c;能够通过自回归方式生成文本。自首次推出以来…