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

来源:互联网 发布:番号搜索软件 编辑:程序博客网 时间:2024/06/05 18:58

---------------------- <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