当前位置:编程学习 > C#/ASP.NET >>

关于对象的疑问

刚开始学习面向对象,相当迷糊了.

我该如何理解对象呢?

有两个类 

类1{
     方法1{

   }   
}

类二{
   
   方法1{
       类1 对象一 new 类1 
        }
   方法2{


        } 
}



我想问一下,在类2中,可否在 方法二中操作方法一创建的对象呢?





--------------------编程问答-------------------- 不可以,你学习一下作用域 的概念,因为你那个对象一是局部变量 。所以在方法2中是不可见的。 --------------------编程问答-------------------- using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        
        

        public Form1()
        {
            InitializeComponent();
            Jis aaa = new Jis() ;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int bbb = aaa.yunsuan(3);
    
        }
    }
}


public class Jis
{
    protected int textsc = 0;
    public int  yunsuan( int a )
    {
        textsc += a;
        return textsc;
        }
}

这样的代码的结果是 “错误 1 当前上下文中不存在名称“aaa"     


我应该怎样写才能让其他过程可以访问呢?
--------------------编程问答-------------------- 把aaa设计成类成员就可以了。

namespace   WindowsApplication1 

        public   partial   class   Form1   :   Form 
        { 
                private Jis aaa;
                
                public   Form1() 
                { 
                        InitializeComponent(); 
                        this.aaa   =   new   Jis(); 
                } 

                private   void   button1_Click(object   sender,   EventArgs   e) 
                { 
                        int   bbb   =   this.aaa.yunsuan(3); 
        
                } 
        } 


或者把yunsuan方法设计为Static,这样就不需要New了。
一般把工具方法设计为Static:

namespace WindowsApplication1 

        public partial class Form1:Form 
        {                 
                public Form1() 
                { 
                    InitializeComponent(); 
                    // Jis   aaa   =   new   Jis()   ; 
                } 

                private void button1_Click(object sender, EventArgs e) 
                { 
                        int   bbb   =   Jis.yunsuan(3); 
                } 
        } 



public   class   Jis 

        protected static int   textsc   =   0; 
        public  static int     yunsuan(   int   a   ) 
        { 
                textsc   +=   a; 
                return   textsc; 
        } 

--------------------编程问答-------------------- 樓上的就對了 --------------------编程问答-------------------- 方法中的变量,仅在该方法内起作用.如果要多个方法使用的变量
考虑合适在类中定义的字段(变量) --------------------编程问答-------------------- 楼主是相当的头大?
我来救你,http://tech.163.com/special/000915SN/LanguageC.html

看完这个你就不迷糊了,特别是第 15 讲,就是你问的问题。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,