多种方式获取变量!

由于长时间没有玩编程,导致好些东西都忘记了。
天天玩游戏,现在连游戏都玩腻了。
又开始摸摸键盘了。
所以今天用了一点时间来想,如何获取属性。


现在有两个类, 一个A类, 一个main类
目的: 从main类获取A类的属性。
对于private属性的变量name1,通过getset方法或者a类的带变量赋值的构造方法, 就可以获取name1

对于public 属性的变量name2,既可以getset,构造方法获取变量name2
,也可以new 一个对象, 通过 对象.变量 ,就可以赋值,并获取到这个变量。

namespace 用法_
{
    class A
    {
        private string name1  ;

        public string name2 = "000";


        //不带参数的构造方法
        public A()
        {
        }
        //带参数的构造方法
        public A(string name)
        {
            this.name2 = name;
        }
        //set方法
        public void  setName(string name)
        {
            this.name1 = name;

        }
        //get方法
        public string getName()
        {
            return name1;
        }
    }
}

 class Program
    {
        static void Main(string[] args)
        {
            //$ 的用法

            
            A a1 = new A();
            a1.setName("123");

            A a2 = new A();
            a2.name2 = "456";
            //string msg1 = a.getName();
            Console.WriteLine($"c1 = {a1.getName()}");

          //这行代码是错的,编译器报错。
            Console.WriteLine($"c2 = {name2}");
        }
    }

今天就研究这个为什么name2会直接报错的问题,这个变量放在A类里面,而且属性是public,还已经赋值了000这个字符串。

因为main方法是程序入口,我的理解是编译器扫描是从 static void Main(string[] args)这一句话开始扫描下去,所以在main里面没有定义这个name2变量的话,自然而然是抓不到这个变量的。

只能创造对象去拿这个变量。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容