面向对象程序设计

目录

一、面向对象的基本概念

1.对象

2.类

二、面向对象的基本特征

1.封装

2.继承

3.多态


广义上讲,一个程序可以用两种方法组织:一是围绕代码(发生了什么),二是围绕数据(谁受了影响)。面向对象程序设计则以另一种方式工作,它们围绕数据来组织程序。在面向对象语言中,需要定义数据和作业于数据的操作。

一、面向对象的基本概念

简单来说,面向对象就是把把数据及对数据的操作方法放在一起,抽象为“对象”。每个对象是唯一的,且都可以拥有它的属性与行为。我们通过调用对象的属性和行为去解决问题。

1.对象

对象是一个抽象的概念,人们身边存在的一切都可看作为对象,如一个人、一辆车等。

一个对象一般具有两方面的特征:属性和行为。属性用来描述对象的静态特征,行为用来描述对象的动态特征。例如,一条狗是一个对象,它的属性有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 

2.类

类可以定义为具有相似特征和行为的对象的集合,对象的创建称为类的实例化,属于某个类的一个具体的对象称为该类的一个实例,类是一个模板,它描述一类对象的行为和状态。

二、面向对象的基本特征

面向对象的设计原理具有三个特性:封装、继承、多态。

1.封装

封装就是把对象的属性(成员变量)和行为(方法)结合成一个独立的系统单位,并尽可能地隐藏对象的内部细节。封装即信息隐蔽,它在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行,外部各部分之间的信息联系应尽可能的少。

封装有四种访问控制权限,他们各自的区别是:

public:对外公开,可以在任何类中被调用

protected:可以被同一个包中的类或子类访问

默认(缺省):只能被同一个包中的类访问

private:只能被同一个类的方法访问

2.继承

继承是让某个类型的对象获得另一个类型的对象的属性和方法。继承之所以重要,是因为它支持层次结构类的概念。继承就是子类继承父类的属性和行为,使得子类对象具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

3.多态

多态是指程序中相同的名字表示不同含义的情况。面向对象程序设计中的多态有多种情况。

在简单的情况下,在同一个类中定义了多个名称相同的方法,即方法重载,方法重载体现的是单个类的多态性。

另一种情况是子类中定义的与父类中的方法同名的方法,即方法覆盖,也叫方法重写,体现的是父类与子类的多态性。

这两种情况都称为多态,且前者称为静态多态,后者称为动态多态。

继承关系使一个子类继承父类的特征,并且附加一些新特征。子类对象和父类对象在一定条件下可以互相转换,对象的转换也有自动转换和强制转换之分。

子类对象可以作为父类对象使用,即子类可以转换为父类对象,可以将子类型的引用赋值给父类型的引用。如以下赋值语句:

parent = child;                          //子类child赋值给父类parent,子类对象自动转换成父类对象

这种转换称为向上转换,这种转换必须是直接或间接类(或接口)。反过来,也可以将一个父类对象转换成子类对象,需要用到强制转换。强制类型转换需要用到转换运算符“()”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值