面向对象

面向对象概述

1、面向对象程序设计(oop object-oriented programming),是现今程序设计的主流和流行趋势。在面向对象的程序设计中,将所有事物都座位对象来处理
2、oop的基本思想是把人们对现实世界的认识过程应用到程序设计中。现实世界的物体就是对象,它有两个基本特点一个是物体的内部构成,另一个是物体的行为
3、oop与现实对象两个基本特点相对应的是数据和方法。数据表示对象的构成,方法表示对象的行为

面向对象编程概述

1、简单的说,面向对象的编程(object oriented programming,简称oop)描述的是对象之间的相互作用
2、面向对象编程与面向过程编程的区别

面向对象编程与面向过程编程的区别
面向对象编程确定数据结构确定算法
面向过程确定算法确定数据结果

面向对象编程的程序员则构造一个对象模型,将数据与方法组织在一起
面向过程编程的程序员,习惯于建立数据结构存放数据并定义方法(函数)来操作数据;

对象的状态 对象的行为

1、我们可以把现实世界的事物抽象成对象。
2、对象一般多有两个特征:状态(state)和行为(behavior)
3、软件的对象概念由现实世界对象抽象而来
4、把现实世界对象的状态保存在软件对象的变量中;现实世界对象的行为通过软件对象的方法(函数)来实现

类的概念

1、类是对象的“模板”,对象是类的实例
2、类有对象之间的关系可以看成是抽象与具体的关系。其中累是抽象的, 对象是具体的
类描述了对象的属性和行为
对象是类的一个实例
3、在Java语言中,所有的东西都是对象,对象就如同是一种新型变量,通过赋值语句对该变量进行性初始化操作
4、比如,当设计灯泡的时候要求每一个灯泡都必须具有型号这个属性,同时还要能够行进打开,关闭等操作
因此当把灯泡这些共同的属一生和行为集中起来的时候就抽象出一个灯泡类
每一个具有这些属性和行为的,具体的灯泡就是这个灯泡类的对象或者称为实例

类和对象

1、把相似的对象划归成一个类
2、在软件中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的状态(变量)和行为(方法)
3、类是创建对象的模板,对象是类的实例

面向对象程序设计方法

1、面向对象程序设计方法是
对象=(算法+数据结构)
程序=(对象+对象+…)
2、算法与数据结构是一个整体,算法离不开数据结构,算法只能适用于特定的数据结构
3、面向对象中,算法与数据结构被捆绑称一个类

面向对象的四大特性

1、抽象性 (abstraction)
2、封装性 (encapsulation)
3、继承性 (inheritance)
4、多态性 (polymorphism)

面向对象的基本特征

1、封装性
基本思想:把客观世界中联系紧密的元素及其相关操作组织在一起,使其相互作用隐藏、封装在内部,而对外部对象只提供单一的功能接口
目的:将对象的使用者和设计者分开
类比:汽车的左转、右转;被陶瓷封装的集成芯片

继承性

1、继承是OOP中一种由已有的类创建新类的机制
一个父类(公共属性的集合)可以有多个子类(是父类的特殊化),一个子类只可以有一个父类
子类可以直接使用父类的方法,也可以根据需要修改父类中已经定义的方法(既不改变方法名,而修改方法的参数个数、参数类型)
注:父类和子类可有同名的方法(多态性)

多态性

1、定义:由于父类和子类可以有同名的方法,在运行时JVM根据方法的参数个数和类型的不同来查找、决定执行那个版本的方法,称为多态性
2、在程序执行时,JVM对对象某一方法的查找是从该对象类所在层次开始,沿类等级逐级向上进行,把第一个方法作为所要执行的方法。所以子类的方法可以屏蔽父类的方法

面向对象编程的难点

1、掌握面向对象的困难之处在于思路的转换
注:我们通常习惯于考虑解决问题的方法,而不是考虑将问题抽象成对象再去解决它

一个简单的例子

1、编写一个驾驶汽车的方法
面向过程的程序设计:编写一个方法,void drivecar();
面向对象的程序设计:将一辆汽车看成一个对象,将所有汽车对象的共性抽取出来,设计一个类Car,类中有一个方法void drive(),用Car这个类实例化一个具体的对象car,调用:car.drive()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值