1.面向对象的基本概念

什么是面向对象编程:

面向对象编程是一种新的程序设计技术,相对于面相过程的程序设计以研究问题的解决过程为主体,面向对象编程以对象和类为主体,基本组成要素是类和对象。

什么是类:

类是具有相同特征的的对象的抽象,是一种数据类型。

什么是对象:

广泛的说对象是客观实体的映射,在程序设计上对象是类的具体实例。

面向对象的基本特性:抽象、封装、继承、多态。

抽象:抽象是指从众多事物中舍弃个别的、非本质的属性,抽出共同的、本质的属性的过程。
软件开发中的抽象包括过程抽象和数据抽象两部分。


过程抽象:指将整个系统的功能划分为若干部分的过程。过程抽象常用的两个标准是过程分解和递归技术。
数据抽象:指将系统中需要处理的数据和这些数据上的操作结合在一起,形成类的过程。

封装:是指利用抽象数据类型把数据和操作封装在一起,用户只能看到对象的外部信息,对象的内部细节是隐藏的。一方面封装表示对象的属性和方法是一个整体,是独立的,另一方面它表示对象的内部是隐蔽的。

继承:继承反映了两个类之间的一种关系,当一个类拥有另一个类的所有属性和方法时称这个类继承了另一个类,这两个类具有继承的关系。是一种创建新类的机制

多态:多态是指面向对象程序设计中的重名现象。包括方法重载和成员覆盖。成员覆盖又包括属性隐藏和方法覆盖。

属性和字段的区别:

在C#中我们可以非常自由的使用公有属性和字段,但字段和属性是有很大区别的。

1.属性可以限制用户输入,确保用户输入有意义的值

private int a;
public int A
{
     get{return this.a;}
     set
     {
         if(value >= 0 && value <= 100)
              this.a=value;
         else
              throw new Exception("值的范围不合法。");
     }
}

2.属性可以定义读写属性,防止用户读写不应该读写的数据

    class Person
    {
        public string name;
        public int age;

        public string Description {
            get { return "My name is " + name + ". I am " + " year old."; }
        }
    }

3.属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用

原文地址:https://www.cnblogs.com/lidaying5/p/10473059.html