黑马程序员——面对对象之类的定义和使用

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------



1 为什么要使用类?

  在编程中我们使用对象来模拟现实中的对象,用属性模拟特征,方法模拟能力。每次使用都会创建对象,定义属性,方法。这样比较麻烦,为了代码重用性,我们定义类,类是创建对象的模板,里面定义了对象应该具备的属性和方法。使我们不用每次创建对象时都重复的定义,直接使用即可。

  综上,类是对象的抽象模板,定义了对象将具备的属性能力,在创建对象及使用对象时达到代码重用的功能。 

2 类的定义

  知识点:  [访问修饰符] class 类名     

              

    {

        私有字段;

        公共属性;(自动属性:系统默认帮助生成)

        方法;

         构造方法;         

           }

     


例子:

:class student
     {
       int age;
       string name;
       public string Name
           {
             get
              {
                return name;
                }
              set
              {
                name=value;
               }

            }
         public void SayHello()
            {
              console.writeline("你好,我的名字是{0},我{1}岁了",name,age);

            }
         pubic   Student(name,age)
              {
                 this.name=name;
                  this.age=age;
               }

}



 3 类的使用:

     类是封装性的,使用时用属性访问字段,方法访问能力,是可控的,收到保护的,防止非法访问。

    使用类是指使用以类为模板创建出的对象的功能,即通过类来创建对象,并访问对象的属性和方法。

  知识点:(1)创建对象:

       类名  实例名=new 类名();( 1,在栈中声明变量,2 new:在堆中分配空间,创建对象,3调用系统的无参构造函数为字段初始化

                                      ,4 将对象在堆中的地址赋值给栈中变量)

          

       因为能在构造方法中为字段赋值,故我们可以写自己的有参构造方法,为字段赋初值。

         类名   实例名=new 类名(参数);

(2)使用对象

       修改对象属性,访问对象属性,访问对象方法,

      实例名.属性名   实例名.方法(参数)

(3)销毁对象,

   垃圾处理器(GC)销毁对象并释放内存

 例子:

Student s=new Student();
或Student s=new Student("张三",19);
s.SayHello();

 内存分析:

在C#编程中内存基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 
    ①静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 
    ②栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 
    ③堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。 但是,良好的编程习惯是:如果某动态内存不再使用,需要将其释放掉,否则,我们认为发生了内存泄漏现象。






程序运行开始,类被加载进内存先在静态存储区声明类静态变量,常量,方法

在堆中创建对象然后分配空间,创建对象,初始化字段,建方法表

使用完对象后,垃圾处理器销毁对象,线程栈和托管堆中成员均是属于调用对象的,均被处理掉。

程序关闭,方法区释放。

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------




























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值