c# 中类的实例化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 中类的实例化相关的知识,希望对你有一定的参考价值。

我记得c++ 中是

class base

base mybase;

在c# 中是
base mybase=new base();
加了 new 关键字 加了构造函数

c# 中不能用c++的方法吗

看出来了,跟你这里的代码没关系,
是你其他地方的生成随机数的代码错了,应该把随机数变量拿到外面而不是每次new一个新的,因为每次new新的话默认以系统时间为种子,
因为代码执行很快的时候,
两次得到相同种子,next以后就得到相同的值了,
因为c#第一次执行要il编译花时间,比较慢所以第一条不一样.

你把radom对象拿到外面用同一个而不是每次new个新的就好了,
和实例化,循环什么的都没有关系
参考技术A 在C#中
如果是这样
Class base

base mybase--在这里只定义了base的一个对象mybase,但是并没实例化,也就是说在内存中mybase没有赋给它地址

但是当base mybase=new base(); new之后,它在内存中就存在了~~本回答被提问者采纳
参考技术B c#中类的实例化要调用其构造函数,但不一定要使用NEW,如 string s="";但STRING内内部做了处理,当你声明时就NEW了

这不是C#的问题,是面向对象的问题.

另外,不要把C++语法和C#做比较,如果你学C++呢,就忘了C#,如果你学C#呢就忘了C++。2者是完全不同的语言,进行类比基本上都会陷入误导
参考技术C 你这样可以的
C#中叫构造方法
是用来给变量赋初值的
你要是不也出来就是隐试的!

C#中类的创建和实例化

C#中,实例化就是创建对象的过程,使用关键字new来创建。

     在看C#视频中遇到这么一个例子,就是更改对象的密码。我们就通过这个例子来理解一下类的创建和实例化。

     1、首先要声明一个能判断密码是否正确,并能够更改密码的类,并在类中定义相关方法。

     

[csharp] view plain copy
 
 技术分享技术分享
  1. <span style="font-size:18px;">    class Authentic   //声明一个判定密码是否正确,并能够更改密码的类   
  2.     {  
  3.                                                                
  4.         private string PassWord = "zhouzhou";                  //在类中定义密码  
  5.           
  6.         public bool IsPasswordCorrect(string userPassword)      //在类中声明判断密码是否正确的方法  
  7.         {  
  8.             return (PassWord == userPassword) ? true : false;  //?:三元运算符,判断是否为真  
  9.         }  
  10.         public bool ChangePassWord(string oldPassWord, string newPassWord)//在类中声明更改密码的方法  
  11.         {  
  12.             if (oldPassWord == PassWord)  
  13.             {  
  14.                 PassWord = newPassWord;  
  15.                 return true;  
  16.             }  
  17.             else  
  18.                 return false;  
  19.         }</span>  


    2、将类实例化,如下:

 

[csharp] view plain copy
 
 技术分享技术分享
  1. <span style="font-size:18px;">    class Program  
  2.     {  
  3.         static void Main(string[] args)  
  4.         {  
  5.             Authentic simon = new Authentic(); //simon是authentic实例化的名字,类后记得加上括号  
  6.               bool done;  
  7.             done = simon.ChangePassWord("zhouzhou", "zhoujiangxiao");  
  8.             if (done == true)  
  9.                 Console.WriteLine("密码已经更改");  
  10.             else  
  11.                 Console.WriteLine("密码更改失败!");              
  12.         }  
  13.     }</span>  

    从这个例子中,很容易理解,将类实例化就是:

    类名  对象名 =  new  类名()

    3、最后介绍一下,访问修饰符对类访问的限制。如图所示:

    技术分享

    这些对编程来说,是十分基础的,但是确实十分重要的。


以上是关于c# 中类的实例化的主要内容,如果未能解决你的问题,请参考以下文章

Python中类的内置方法与继承关系实例

类的实例化

C#中能否在类的内部实例化一个本类的对象?

编程艺术C++ 类实例化的方法

JAVA中类实例与Class对象

Java类的定义及其实例化