类定义

 2024-02-27 02:03:36  阅读 0

这个教程太糟糕了。 它只告诉你一个标题。 至少把self和this这两个关键词解释清楚吧。 不然就算写出来也只能写。 这样的班级有什么意义呢? 最好写一些方法。

我学过好几种语言,概念基本都是一样的,但是对于初学者来说,这不是有害的吗?

方法就像工具一样,拿凿子把石头雕刻成佛像。

班级就像一台机器。 将原材料放入机器中。 你可以通过机器一开始设置的各种函数来观察里面的运行情况,或者调用它来导出输出。

当定义一个人时,这个人有胳膊和腿,还可以定义一个子类别,称为男人/女人。 其实没有问题,只是没有说明该类的根本用途。

那么我们就要介绍两个东西,静态和非静态。 如果只是想把一些工具放在一个类中,变成工具集合,则不需要实例化,直接调用即可,即:

namespace Tools
{
    public class tools 
    {
        public static void hello(string a_)  //强制要求标注静态和非静态
        { 
           System.Console.WriteLine(a_);
        }
    }
}
namespace ConsoleApp2
{
    class A
    {
        static void Main()
        {
            Tools.tools.hello("hello");  // 这个时候整个类就是静态,不需要实例化
        }
    }
}

如果由于某种需求而导致需求变得非静态,即动态需求,那么就需要实例化。 这个需求稍后会解释:

namespace Tools
{
    public class tools
    {
        public void init()
        {
            WriteLine("实例化");
        }
        public static void hello(string a_)
        {
           System.Console.WriteLine(a_);
        }
    }
}
namespace ConsoleApp2
{
    class A
    {
        static void Main()
        {
            Tools.tools a = new Tools.tools();  // 如果不实例化,绝对无法调用
            a.init();
            Tools.tools.hello("hello"); // 但是不影响直接调用静态方法
        }
    }
}

什么时候需要使用动力学? 您需要在多个工具之间传输数据然后对其进行处理,而不是仅使用一种工具进行处理。 由于静态方法之间无法传递数据,此时需要使用动态方法:

namespace Tools
{
    public class tools
    {
        int a, b;  // 储存在类的内部
        public void init(int a, int b)  // 用于接收数值
        {
            this.a = a;
            this.b = b;
            WriteLine("初始化构造");
        }
        public int rectangle()  // 用于计算数值和传递
        {
            return this.a * this.b;
        }
    }
}
namespace ConsoleApp2
{
    class A
    {
        static void Main()
        {
            Tools.tools a = new Tools.tools();
            a.init(1, 2);
        }
    }
}

事实上,它可以比作一台生产不同口味糖果的机器。 制作好样机的设计图纸后,我需要使用不同的原材料来制作出我需要的口味的糖果。 这时候,我需要制造一台专门用于生产的机器,例如草莓。 调味糖,这是一个实例化,但是每台机器必须是独立的,因为它们不能有不同的口味,所以每台机器都需要单独创建。

只要明白了这一点,再了解里面的构造函数等概念,就可以理解了。

进唐求法笔记

xyi***

标签: 静态方法

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码