面向对象详述

一、了解面向对象1、概念基本理解:1)、一个个体可以看做是一个对象,例如:人这个个体;2)、有共同属性的一类作为一个个体,例如:学生、白领、农民工;3)、结构

一、了解面向对象
1、概念基本理解:1)、一个个体可以看做是一个对象,例如:人这个个体;
2)、有共同属性的一类作为一个个体,例如:学生、白领、农民工;
3)、结构体是用户自定义的数据类型,可以定义不同数据类型的变量,结构体也是面向对象的核心;
2、基本特性:
1)封装:是隐藏信息的特性,具有“封装”意识,是掌握面向对象分析与设计技巧的关键。
最简单的理解:创建一个对象的整体,使对象的属性可以具有赋值、取值的功能,也就是对象中的变量可以赋值、取值。是一种认为的抽象出来的对象的概念。
2)继承:任何事物中存在一种“派生”关系,即子类继承父类的所有属性,但是父类不一定具备子类的属性或功能。(类似数据库中主键、外键关系)
3)多态:即多样化;某一类中具备共同属性,但这一类中具体到某个单独的个体又有各自不同的属性或功能。每一个个体都具有各自形态。可以理解为特性与共性的关系,例如:苹果和水果,水果拥有的特性,苹果一定有,因为苹果属于水果类。
二、结构化编程方法
1、结构化软件系统的基本编程单位是函数;
2、整个系统按功能划分为若干个模块,每个模块都由逻辑上或功能上相关的若干个函数构成,各模块在功能上相对独立。
3、公用的函数存放在公用模块中,各模块间可以相互调用,拥有调用关系的模块形成一个树形结构,这种调用关系应尽可能做到是单向的。


类:就是具有相同属性和功能的对象的集合。

构造方法:就是对类进行初始化。如果不编码则系统将默认生成空的构造方法。

方法重载:提供了创建同名的多个方法的能力,但是这些方法需要有不同的参数类型。他可以在不改变原方法的基础上增加新功能。

属性:适合于以字段的方式使用方法调用的场合,这里字段是存储类要满足其设计所需要的数据。

封装:每个对象都包含他能进行操作的所有信息。封装可以减少耦合,类的内部可以修改,可以使类具有清晰的对外接口。

继承:如果子类继承父类,第一子类拥有父类非private的属性和功能;第二,子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能,还可以以自己的方式实现父类的功能(方法重写)。?

1.?如果子类拥有与父类重名的属性和方法的时候,子类的属性和方法会将父类的
覆盖掉。如果需要显示调用父类的成员,则需要使用base.不然会默认调用this.?
2.?创建一个子类对象,默认先会调用父类的无参的构造函数。如果父类没有无参
的构造函数,会报错。?

3.?创建子类对象的时候,也可以指定调用父类的带参的构造函数。Base?

4.?子类会继承父类的所有成员,但是只能使用公共的,而私有成员不能使用。

多态:表示不同的对象可以执行相同的动作,但是通过它们自己的实现代码来执行。这里需要将父类将该成员声明为虚拟的,而且用到了方法重写(override).

抽象类:用abstract声明抽象类,注意抽象类不能实例化,抽象方法必须被子类重写。

接口:是把隐式公共方法和属性组合起来,以封装特定的功能的一个集合,一旦类实现了接口,就可以支持接口所指定的所有属性的成员。一个类可以支持多个接口,多个类也可以支持相同的接口。

集合:是优于数组,.NET Framework提供了用于数据存储和检索的专用类。集合随着我们向里边添加元素而自动增加,自动调节大小。提供了对堆栈,队列和哈希表的支持。

泛型:具有占位符(即参数类型)的类,结构,接口和方法。和集合紧密联系,泛型集合可以获得类型安全的直接优点。也就是说类型固定了。

public:声明全局变量,也就是说整个项目都可以访问到。
private:声明私有变量,也就说只有这个类内部可以访问。
protected:声明局部保护变量,只有其继承类可以访问。
注意:在将类抽象时,需要将类中的private修饰符,变为protected,因为抽象类就是用来继承的
在一个类中定义变量或者方法时,没有写访问修饰符,那么默认的访问修饰符为private

 

您可能有感兴趣的文章
谈谈对面向对象的理解

设计模式:面向对象设计的六大原则 (绝对详细)

面向对象4大特性

面向对象的三大特性

C++中面向对象的理解