1、面向对象是什么?
这个对象不是C#中的实例,C#中我们把一个类的实例也叫做对象,这种对象严格的说应该是面向对象的编程实现(OOP)中的对象,面向对象编程,也不是面向类的实例编程。对象的定义是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。也有的定义为“一切都是对象”然而面向对象也不能简单的等价理解成面向任何事物编程,因此面向对象这个对象,指的是客体。所谓客体是指客观存在的对象实体和主观抽象的概念。
2、为什么要面对对象?
面向对象是为了解决系统的可维护性,可扩展性,可重用性。
3、面向对象三大特性:
封装 继承 多态
4、类的特性:
结构清晰
可维护性好 很强壮
可扩展性好
注意:类,是咱们以后编程中使用的最基本的单元 // 说多了都是类
================================================================================================
1、命名空间/程序集
命名空间是用来组织和重用代码的编译单元。如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入了名字空间这个概念,通过使用 namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。
2、访问修饰符
public 公共的 - 访问权限是最高的
private 私有的 - 只能在类的内部进行访问
internal 默认的 - 当前命名空间(程序集)下可以访问
protected 被保护的 - 当前类及它的派生类中可以访问
--------------------------------------------------------------
3、封装
private 数据类型 _名称; //成员变量,字段
public 数据类型 名称 //属性
{
get{ return _名称; }
set{ _名称 = value; }
}
还可以有方法 //成员方法
----------------------------------
4、继承: 类:类
一个子类只能有一个父类
子类可以继承全部父类中的public的方法和属性
父类也叫 基类
子类 也叫派生类 超类
--------------------------------------
5、多态: 类的多种形态
有了继承才有了多态
virtual 写在访问修饰符之后,让方法变成 虚方法
可以被子类进行重写, override 只能重写函数体