首页 存档 技术 查看内容

Java面向对象程序设计的基本概念

2018-3-30 13:00 |来自: 互联网 461 0

摘要: 新朋友关注“尚学堂java培训”轻松学编程知识 面向对象的程序设计涉及到对象、封装、类、继承及多态等几个基本概念。 图:计算机语言的发展过程 01 对象 何谓面向对象是什么意思呢? 面向对象程序设计是将人们认 ...

新朋友关注“尚学堂java培训”轻松学编程知识



面向对象的程序设计涉及到对象、封装、类、继承及多态等几个基本概念。


图:计算机语言的发展过程



01



对象


何谓面向对象是什么意思呢?

面向对象程序设计是将人们认识世界过程中普遍采用的思维方法应用到程序设计中。对象是现实世界中存在的事物,它们是有形的,如某个人、某种物品;也可以是无形的,如某项计划、某次商业交易。对象是构成现实世界的一个独立单位,人们对世界的认识,是从分析对象的特征入手的。


对象的特征分为静态特征和动态特征两种。静态的特征指对象的外观、性质、属 性等;动态的特征指对象具有的功能、行为等。客观事物是错综复杂的,但人们总是 从某一目的出发,运用抽象分析的能力,从众多的特征中抽取最具代表性、最能反映 对象本质的若干特征加以详细研究。


人们将对象的静态特征抽象为属性,用数据来描述,在 Java 语言中称之为变量;人们将对象的动态特征抽象为行为,用一组代码来表示,完成对数据的操作,在 Java 语言中称之为方法。一个对象由一组属性和一组对属性进行操作的方法构成。



将具有相同属性及相同行为的一组对象称为类。广义地讲,具有共同性质的事物的集合就称为类。


在面向对象程序设计中,类是一个独立的单位,它有一个类名,其内部包括成员变量,用于描述对象的属性;还包括类的成员方法,用于描述对象的行为。在 Java 程 序设计中,类被认为是一种抽象数据类型,这种数据类型,不但包括数据,还包括方法。这大大地扩充了数据类型的概念。


类是一个抽象的概念,要利用类的方式来解决问题,必须用类创建一个实例化的类对象,然后通过类对象去访问类的成员变量,去调用类的成员方法来实现程序的功能。这如同“汽车”本身是一个抽象的概念,只有使用了一辆具体的汽车,才能感受到汽车的功能。


一个类可创建多个类对象,它们具有相同的属性模式,但可以具有不同的属性值。Java 程序为每一个类对象都开辟了内存空间,以便保存各自的属性值。




02




面向对象的程序设计有三个主要特征封装性,继承性,多态性


封装性


封装是面向对象的方法所应遵循的一个重要原则。

它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。


另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节。


封装机制在程序设计中表现为,把描述对象属性的变量及实现对象功能的方法合在一起,定义为一个程序单位,并保证外界不能任意更改其内部的属性值,也不能任意调动其内部的功能方法。


封装机制的另一个特点是,为封装在一个整体内的变量及方法规定了不同级别的 “可见性”或访问权限。


继承性


继承是面向对象方法中的重要概念,并且是提高软件开发效率的重要手段。


首先拥有反映事物一般特性的类,然后在其基础上派生出反映特殊事物的类。如已有的汽车的类,该类中描述了汽车的普遍属性和行为,进一步再产生轿车的类,轿车的类是继承于汽车类,轿车类不但拥有汽车类的全部属性和行为,还增加轿车特有的属性和行为。


在 Java 程序设计中,已有的类可以是 Java 开发环境所提供的一批最基本的程序类库。用户开发的程序类是继承这些已有的类。这样,现在类所描述过的属性及行为,即已定义的变量和方法,在继承产生的类中完全可以使用。被继承的类称为父类或超类,而经继承产生的类称为子类或派生类。根据继承机制,派生类继承了超类的所有成员,并相应地增加了自己的一些新的成员。


面向对象程序设计中的继承机制,大大增强了程序代码的可复用性,提高了软件的开发效率,降低了程序产生错误的可能性,也为程序的修改扩充提供了便利。


若一个子类只允许继承一个父类,称为单继承;若允许继承多个父类,称为多继承。目前许多面向对象程序设计语言不支持多继承。而 Java 语言通过接口(interface) 的方式来弥补由于 Java 不支持多继承而带来的子类不能享用多个父类的成员的缺憾。


类的多态性


多态是面向对象程序设计的又一个重要特征。多态是允许程序中出现重名现象。 Java 语言中含有方法重载与成员覆盖两种形式的多态。


方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。


成员覆盖:子类与父类允许具有相同的变量名称,但数据类型不同,允许具有相同的方法名称,但完成的功能不同。


多态的特性使程序的抽象程度和简捷程度更高,有助于程序设计人员对程序的分 组协同开发。








西安校区

Java培训脱产班开课时间:2017年02月21日座中..

电话:029-62258374

地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼


郑州校区

Java培训脱产班开课时间:2017年02月28日 抢座中..

电话:0371-58500958

地址:河南省郑州市金水区东风路与文化路交叉南100米


深圳校区

Java培训脱产班开课时间:2017年02月21日 抢座中..

电话:0755-26612786

地址:深圳市南山区科文路1号华富洋大厦3F




科普一下什么是脱产班:

脱产班就是参加工作后再去校内进行学习

一种学习方式。其管理模式与高校普通班

级一样,学习期间完全脱离生产不在原单

位工作,全身心的进行全日制学习。不占

用学生周六和周日的工作时间,对学生有

正常的、相对固定的授课教室和管理要求

,有稳定的寒暑假安排。





一个有用的公众号


尚学堂java培训

Android

web前端

培训基地

长按关注

亲爱的同学们:

随着春节假期即将结束,尚学堂java培训春季班的课程也随之开始,试听的课程已经开启,希望小伙伴们注意自己的开课时间(打开【尚学堂java培训】公众号,点击-精品课程-我要试听-联系客服获取免费试听名额),不要错过咯,如果有疑问可到尚学堂服务中心前台咨询或致电029-62258374,地址:西安市雁塔区高新区科技二路天泽大厦五楼。



本文转载于微信公众号: 尚学堂java培训(sxtjava),更多微信文章请扫描关注公众号:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部