[黑马程序员]_面向对象的概念、对象引用及属性

来源:互联网 发布:美工找素材去什么网站 编辑:程序博客网 时间:2024/06/14 10:40
面向对象的三个特性:封装、继承、多态。
类,对象。 例如:"人"是类,"张三"是"人"这个类的对象。类是抽象的,对象时具体的。对象可以叫
做类的实例。字段(和类相关的变量),字段就是类的状态。人这个类中有姓名、年龄、身高等字段。
类不占内存,对象才占内存。
方法,就是类能够执行的动作。比如问好、吃饭等。
类的继承,类之间可以有继承关系,比如"电脑"类可以从电器类继承,这样的好处是"电脑"类只需要

定义自己特有的字段、方法就可以,也就是只要定义内存大小、CPU型号这些字段或弹出光驱等方法就

可以。

父类、基类(基业,祖宗十八代传下来的)。电脑类是电器类的子类。


成员访问级别
字段、方法、属性都可以叫做类的成员,他们都需要定义访问级别。访问级别的用处在于控制在哪些
地方可以被访问,这样达到面向对象中"封装"的目的。
public :在任何地方被访问
internal:本项目中被访问
private:本类中被访问
preotected:本类和子类中访问
在类中定义变量和方法时,没写访问修饰符,那么默认的访问修饰符为private。
在类级别,不写访问修饰符默认为internal。


属性
class Person
{
  private int age;
  public int Age  //Age没有保存数据,都保存到age中
  {
    get{ return this.age;}  //取值
    set{ this.age=value; }  //赋值,value代表用户赋值过来的值
    //可简写为:get;set; //编译器自动帮我们生成私有字段和set,get代码块。
  }
}
public class MainClass 
{
   public static void Main() 
   {
        Person p=new Person();
        p.Age=23;
        Console.WriteLine("年龄{0}",p.Age);
        Console.ReaKey();
   }
}


对象的引用
int,datetime,bool,char等类型都是值类型(ValueType),赋值的时候是传递拷贝。
普通的对象则是引用类型,赋值的时候是传递引用。传递给函数也是引用传递的。
例:
int i=10;
int j=i;
i++;
Console.WriteLine(j);  //输出结果为:10
Person p=new Person(10);
Person p1=p;  //指向同一个对象
p.Age++;
Console.WriteLine(p1.Age);  //输出结果为:11

原创粉丝点击