如鹏网学习笔记面向对象基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如鹏网学习笔记面向对象基础相关的知识,希望对你有一定的参考价值。

面向对象基础
1,面向对象的三大特征:封装、继承、多态。


2,定义字段的方法和实例化类:和声明数组一样,类名 对象名 = new 类名();

3,对象的引用传递:Person weiren = yzk; weiren指向对yzk当前所指向的对象。

4,null和成员变量、局部变量的不同初始化
  1)null表示变量没有指向任何对象
  2)对于一个为null的变量调用成员方法都会报异常NullReferenceException
  3)值类型(ValueType):数据类型(int、long、double等)、boolean等基本类型,枚举、结构体,不能为null。String不是值类型。
  4)局部变量必须初始化,成员变量声明时默认初始化,基本数值类型默认初始值为int,String等非基本类型初始化为null。
  5)当成员变量和局部变量(函数参数也可以看做局部变量)重名的时候,被看做局部变量,因此为了避免混乱,建议访问成员变量的时候加上“this.”this代表当前对象。

5,public和private
  1)public成员可以被类内部或者外部访问,private成员只能被类内部访问。这样可以保护不希望外界调用的内部成员()不被外界访问。
  2)字段/成员变量一般声明为private,通过get/set方法来进行取值和赋值。6,属性

  避免外界对成员变量随便赋值,所以把成员变量声明为private,因此有了属性这个语法:
  private int height;
  public int Height
  {
    get
    {  
      return this.height;
    }
    set
    {
      this.height = value;
    }
  }
  p.Height=50;int a = p.Height;
7,构造函数
  1)构造函数是创建对象时,对类进行初始化的特殊函数。
  2)如果定义类的时候没有声明构造函数,默认会给出一个无参构造函数,如果定义了一个构造函数,则就不会提供了。
  3)构造函数的格式和特点:方法名必须和类名一致,没有返回值类型,构造函数可以重载
8,static
  1)不需要new就可以直接通过类名调用
  2)static变量是共享内存空间的,非static变量则是对象隔离的
  3)static方法中无法使用this关键字,因为static独立于对象存在,不是任何人的唯一
  4)static成员中只能访问static成员,不能直接访问非static成员,而非static成员可以访问static成员
9,单例模式
  确保类在系统中只有一个对象
  实现方法:
    1)构造函数声明为private,避免外界访问
    2)定义一个private readonly static的对象实例,static成员的初始化只在类第一次使用的时候执行一次。readonly修饰变量只能在构造函数或者初始化的时候赋值
    3)定义一个public static的方法,返回唯一实例
10,静态代码块
  静态代码块在类第一次被使用的时候执行一次,在构造函数执行之前执行。只要用到类,哪怕没有new对象(声明变量)也会被执行,且只执行一次。
11,命名空间
  1)避免类名重复
  2)语法:namespace 空间名 {类}
  3)当前命名空间中的类无需引用。可以使用using引用其他命名空间下的类,还可以直接用“命名空间.类名”的方式。
12,继承
  1)子类会从父类继承所有非private成员
  2)子类还可以继续有子类,但一个类只能有一个父类,如果没有指定父类,则System.Object为父类
  3)子类的构造方法默认都去访问了父类的无参构造函数:在子类中的构造方法后都有一行默认的语句base()
13, private、public和protected的区别
  1)private成员无法被子类访问,子类只能通过父类的非private方法“间接”访问父类的private成员。这样保证了父类private成员的安全性。

  2)protected成员只能被自己以及子类(直接或者间接)访问,无法在其它类中调用
14,override
  子类中定义和父类中一样的方法叫做重写override或覆盖,父类中可以被重写的方法必须要声明为virtual(虚方法)
15,抽象类
  1)类标记为abstract,这样的类无法被直接实例化(new),这就叫抽象类
  2)抽象方法没有方法体
  3)一旦类中定义了抽象方法,类必须被修饰为抽象
  4)抽象类无法实例化
16,接口
  接口是一种用来声明“能力”的类型,不提供具体实现
  1)语法:
    public interface 接口名
    {
      返回值类型 方法名();
    }
  2)不提供实现方法,连{}都不能有。
  3)接口无法实例化,只能被类“实现”
  4)一个类继承了接口之后,即可以使用接口变量类型调用方法,也可以使用类类型变量调用
  5)接口定义了做什么,类定义了怎么做
  6)接口中不能声明变量(字段),一个没有实现代码的接口中声明变量没有意义
  7)接口中可以定义多少方法,也可以不定义任何方法
  8)接口不能也没必要定义构造函数
  9)类只能有一个父类,类可以实现多少接口



以上是关于如鹏网学习笔记面向对象基础的主要内容,如果未能解决你的问题,请参考以下文章

如鹏网学习笔记JQuery

如鹏网学习笔记DOM

如鹏网学习笔记(十三)EasyUI

如鹏网学习笔记MySql基础

如鹏网学习笔记JavaScript

如鹏网.Net基础1 第二章:C#语言基础1