解析:
OOP =Object Oriented Programming,=面向对象的程序设计
对象(Object):包含一定的数据结构和状态的实体。
*** 作(Operation):作用于对象的行为,如访问和处理对象的状态。
封装(Encapsulation):定义对象和 *** 作,只提供抽象的接口,并隐藏它们的具体实现。
Ada 83 已经支持上述3个特性,因此被称为基于对象(oriented-based)的语言;但面向对象程序设计经过十年的发展, Ada95 基于上述要素又增添了以下两个 Ada83 不支持的要素:
继承(Inheritance):通过继承现有类型的性质,创建新的数据类型,而不影响原有数据类型。
多态性(Polymorphi *** ):判定数据类型 *** 中各类型的区别,使程序可以按照它们的共同特性来书写。
对新特性的需求是由三份报告[Dod 1990]指出的,具体见 Ada Rantinale 的 Part Two- 4 Object Oriented Programming-- 4.1 Background and Concepts,可以更好的理解继承和多态性。
OOP 的继承从理论上讲是模仿人的思考方法,将对象分类,如:car,bus 这两个数据类型是从数据类型vehicle 继承而来的,它们作为 vehicle 的一类,自然继承了 vehicle 的特性,同时具有自身独有的特性;而 wheel 却不是 vehicle 的一类,只是 vehicle 的一个组成部份,因此不是从 vehicle 继承而来。同样,vehicle 有一些 *** 作,如 start,reverse, car和bus也继承下来,如果必要,也可加上自己独有的 *** 作,如 drive_at_200mph。但在实际程序中,人们往往忽视了面向对象的内涵,甚止于 C++ 这些语言玩了好几年,也只是用上了面向对象的语法,而没有形成面向对象的思考方法。
今日为oop的学习整理如下:
oop:面向对象,全称叫object oriented programing
面向对象的三大特性:
1.封装
2.继承
3.多态
类的定义:实际上就是具有相同属性和特征的一类事物的抽象集合。
类和对象的关系:类是对象的抽象,对象是类的实例。
对象的定义:抽象类的实例。
1.知道了类的定义,如何定义类?
使用系统关键字
(访问修饰符internal)可省略class +类名{
}
注意一点:类和类之间属于同级关系
2.如何描述类的特征
叫字段或者类成员变量
字段和普通局部变量的区别
局部变量没有初始化,访问该局部变量时编译不会通过,访问字段则通过
3.实例化对象
采用系统关键字new +类名()
new关键字的作用
(1)开辟一块新的内存空间在堆区域
(2)在开辟出来的内存空间中存对象信息(字段,属性,方法)
(3)初始化对象(调用构造函数)
4.如何描述类的行为
叫方法或者函数
语法格式:修饰词+函数返回值+函数名(方法名)(形参列表)
{
方法体(函数体)
}
5.修饰符()
public:公开的意思,常用语修饰类,修饰类字段,修饰类中的方法
就是非本类之外也可以访问
private:私有的意思,常用语修饰字段,方法,也是我们c#语句中默认的修饰符.
就是只有本类才可以访问。
internal:程序集内部可以访问的
protectd:基类&&派生类可以访问
6.方法的返回值
如果方法有返回值,就返回方法的实际类型的返回值,关键字return +返回内容
如果方法没有返回值,可以省略return不写,直接写方法体内的方法块即可。
如果方法内存在多个return语句只返回第一个return语句块,剩下的不会执行
四种方法:
有参有返回值
有参无返回值
无参有返回值
无参无返回值
7.枚举变量
格式:enum +枚举名称
{
枚举变量1,
枚举变量2,
枚举变量3,
枚举变量4
}
8.构造函数(重点掌握)
构造函数的作用:让一个类更完整.
构造函数其实就是用来创建对象,初始化字段用的
构造函数的语法格式:修饰符+类名()
{
}
构造函数的特点:
1.构造函数压根就没有返回值
2.构造函数的名称必须与类型保持一致
3.构造函数支持方法重载,换句话说就是可以有多个构造函数.
4.构造函数无法进行手动调用(系统自动调用).
5.如果类中不包含构造函数,那么系统会自动的为该类添加一个无参数的构造函数
6.如果类中存在带有参数的构造函数,那么系统不会为该类添加无参的构造函数,那么
创建对象必须使用带有参数的那个构造函数
�
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)