C#怎么实例化对象?具体是实例化啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎么实例化对象?具体是实例化啥?相关的知识,希望对你有一定的参考价值。
楼上两位都已经说明了,我就举个例子吧,相当于工艺制造,有一个工艺品的模子(相当于类),实例化就相当于使用这个模子生产一个对应的工艺品 。。。。然后你可以对这个工艺品(对象)做进一步的处理和使用。有些属性是必须要实例化后才能知道的,比如说婴儿的体重,虽然都是婴儿这个类别,但是只有生下来才知道有多重。但是有些属性是这个列别所共有的,比如说,钻戒上面钻石的切割,某一个系列的戒指钻石切割比例和样式是在设计出就既定的,可以直接根据该戒指的型号得出这个系列的戒指钻石切割的式样和钻石重量,儿不需要拿到制造出这个戒指才能知道。(这也就是我们所说的static静态变量和方法,是在设计类的时候所考虑的,属于这个类的属性,而不是只属于某个对象)
具体实例化什么?肯定是对对象的属性做一系列的初始化操作。再举个例子,育婴。同样是婴儿,有的生下来是7斤重,有的是5斤重。。。。这个就是实例化的一个很好的比喻。。。。。体重就是婴儿的一个属性。。。。
软件工程中一个很重要的手段就是隐喻和类比。
顺便推荐你看看《代码大全》一书 ~~~ 参考技术A 实例化对象,其实就是创建对象过程;
要用一个类中的一个方法。如果这个类是静态类,那么ok,可以直接调用这个方法。
可是如果这个类不是静态类呢?
就需要用对象来引用这个方法了。那么对象如何来呢?就需要new一下了。
例:B类要调用,A类中的 aa()方法。
那么在调用干这个方法之前,必须要要创建A的对象。
A a = new A();
a.aa();
不知道你明白了吗?本回答被提问者采纳 参考技术B
C#实例化对象的语法为:
类名 变量名 = new 类名();举例:
A a = new A();其中的A是一个类,a是A类的实例化对象。
C#中的实例化对象具体实例化的是类的具体对象,这样才可以调用类中的非静态方法。
类 (class) 是最基础的 C# 类型。类是一个数据结构,将状态(字段)和操作(方法和其他函数成员)组合在一个单元中。类为动态创建的类实例 (instance) 提供了定义,实例也称为对象 (object)。类支持继承 (inheritance) 和多态性 (polymorphism),这是派生类 (derived class) 可用来扩展和专用化基类 (base class) 的机制。
使用类声明可以创建新的类。类声明以一个声明头开始,其组成方式如下:先指定类的属性和修饰符,然后是类的名称,接着是基类(如有)以及该类实现的接口。声明头后面跟着类体,它由一组位于一对大括号 和 之间的成员声明组成。
类的实例使用 new 运算符创建,该运算符为新的实例分配内存,调用构造函数初始化该实例,并返回对该实例的引用。
当不再使用对象时,该对象占用的内存将自动收回。在 C# 中,没有必要也不可能显式释放分配给对象的内存。
参考技术C 所谓C#实例化对象,就是new一个对象。比如Class1 c=new Class1();这个便是实例化,它调用的是Class1的无参构造函数
也可以是:Class1 c=new Class1("admin"),这样它调用的是Class1的带一个参数的构造函数
简而言之,具体实例化,就是创建一个对象,然后给对象赋值的过程。 参考技术D new出来就实例化了,赋值的话就,先实例化对象,在给对象的属性赋值,当然是对那些公开的的属性赋值。然后在通过构造函数传递给私有的属性,就可以了
c#的winform怎么根据控件的名字获取控件属性?
这首先要看控件所在的Form类有没有实例化,若已经实例化,可以通过构造传参或委托的方式完成。
构造传参:将控件所在的Form类实例化对象作为参数传到你new的新Form中。
C#实现根据指定容器和控件名字获得控件的方法,在进行C#应用程序设计时有一定的借鉴价值。分享给大家供大家参考借鉴。具体实现方法如下:
功能代码如下:
1、/// <summary>
2、/// 根据指定容器和控件名字,获得控件
3、/// </summary>
4、/// <param name="obj">容器</param>
5、/// <param name="strControlName">控件名字</param>
6、/// <returns>控件</returns>
7、private object GetControlInstance(object obj,string strControlName)
8、
9、IEnumerator Controls = null;//所有控件
10、Control c = null;//当前控件
11、Object cResult=null;//查找结果
12、if(obj.GetType() == this.GetType())//窗体
13、
14、Controls = this.Controls.GetEnumerator();
15、
16、else//控件
17、
18、Controls = ((Control)obj).Controls.GetEnumerator();
19、
20、while(Controls.MoveNext())//遍历操作
21、
22、c = (Control)Controls.Current;//当前控件
23、if(c.HasChildren)//当前控件是个容器
24、
25、cResult = GetControlInstance(c,strControlName);//递归查找
26、if(cResult==null)//当前容器中没有,跳出,继续查找
27、continue;
28、else//找到控件,返回
29、return cResult;
30
31、else if(c.Name == strControlName)//不是容器,同时找到控件,返回
32、
33、return c;
34、
35、
36、return null;//控件不存在
37、
示例如下:
((Button) GetControlInstance(this,"button7")).BackColor = Color.Red;
((Button) GetControlInstance(this.groupBox4,"button7")).PerformClick();
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
参考技术A 单击你需要的控件或者右键你的控件选择属性,然后在右下角属性中找到事件,在事件中选择你需要的,双击空白处编写。系统会自己在设计器中添加对于该事件的引用。以上是关于C#怎么实例化对象?具体是实例化啥?的主要内容,如果未能解决你的问题,请参考以下文章