unity学习之面向对象技术核心之封装

来源:互联网 发布:网络侦探练哪些 编辑:程序博客网 时间:2024/06/06 20:23

欢迎来到我的博客,希望我所写的日志对那些对unity3d感兴趣的朋友有所帮助,最近我们都讲的代码,有的内容是我在网上查了一下,希望我们共同努力学习,。

面向对象技术的三个核心概念

      1封装:将数据和操作组合到一起,并决定哪些数据和操作对外是可见的。

      (2继承:父类中的变量和行为,子类可以同样使用。本质是代码重用。

      (3多态:由继承引出的一种机制,父类型的引用变量可以指向子类型的对象。

 

封装

      封装把对象的所有组成部分组合在一起,有三个作用

      1隐藏类的实现细节:使用方法将类的数据隐藏起来。

      2迫使用户去使用一个界面去访问数据:定义程序如何引用对象的数据,控制用户对类的修改和访问数据的程度。

      3使代码更好维护:类的内部实现改变,对外接口可以不变。


用方法来实现封装

                 

              class Person

              {

                      //一对SetXX  GetXX方法

                     private string name;//当类里出现私有属性时,可以封装起来,然后再其他的类里面通过Get()得到私有属性

                     private int age;

                     //写方法(赋值方法)

                    public void SetName(string name)

                    {

                           this.name=name;

                    }

                    public void SetAge(int age)

                   {

                          this.age=age;

                    }

                    //读方法(获取值方法)

                   public string GetName()

                   {

                          return name;

                   }

                   public int GetAge()

                   {

                          return age;

                    }

             }    

                  //其他类

                    class PersonTest

                    {

                              static void Main(string [] args)

                              {

                                     Person p=new Person();

                                     p.SetName("张三");

                                     p.SetAge(20);

                                     string name=p.GetName();

                                     int age=p.GetAge();

                                     Console.WriteLine(name+"  "+age);

                                     Console.ReadKey();

                              }

                      }

  

用属性来实现封装

属性是C#引入的一种语言成分,只有很少的语言支持属性。通过对属性的读和写来保护类中的域。第一种方法体身也是一种好的方式,但用属性来实现封装会更方便。

属性:

    在c#中,字段通常是私有的,如果要访问类中的字段,需要通过get和set访问器的实现,这种结合了字段和方法的实现方法,我们称之为属性。

     在一个类中,定义一个字段,通常设置为私有,然后再重构--封装字段。

         //属性封装

         private int age;

         public int Age

        {

            set{age=value;}

                     get{return age;}

        }


属性的类型可以是一个类或者是一个数组。

属性除了可以约束数据访问外,还可以设置读,写属性来限定它的访问类型:

    1,只读属性   只包含get访问器

    2,只写属性   只包含set访问器

    3,读写属性   包含get和set访问器。


使用属性的好处

在于对象的使用者可以用一条语句来操作内部的数据。


更多精彩内容请关注:http://unity.gopedu.com/


0 0