Java的面向对象思想及特征

Java语言是面向对象的。这里说到面向对象,就自然而然的引出了另一个概念---面向过程。

1、关于面向对象与面向过程的概念对比

  面向过程:面向过程是以函数为基础的,强调完成各种操作的过程。

  面向对象:面向对象以对象为基础,完成各种操作主要强调对象、结果面向对象的编程语言,是将功能封装进对象,强调具备某些功能的对象,其实面向对象的语言是基于面向过程的,因为即使是调用某个对象,被调用的对象的方法也是通过面向过程的方式编写的。

2、面向对象的特征

   面向对象具有封装性(Encapsulation 、继承性(Inheritance 、多态性(Polymorphism 。

       1)封装性

   A所谓封装指的是隐藏对象的属性以及实现细节,仅对外提供访问方式,将不需要对外提供的内容进行隐藏,把属性隐藏对外提供访问方式

     B、封装的优缺点

优点:将变化隔离、便于使用、提高重用性、提高安全性

         缺点:将变量等使用private修饰,或者封装进方法内,使其不能直接被访问,增加了访问步骤与难度!

     C、封装的实现形式

     a、使用访问权限修饰符private  

   b、定义一个Java类与Java的方法就是最简单最常见的面向对象的封装操作,这些操作符合隐藏实现细节,提供访问方式的思路

2)继承性

    A继承是指:多个类具有共同的属性(成员变量)与行为(成员方法)的时候,将这些共同的部分抽取出来定义到一个公共的类中,其他及各类可以与这个公共的类形成继承关系,从而在多个类中不需要重复定义公共部分!

    公共的类称为:父类、超类、基类

    其他的几个类称为:子类、派生类(子类可以直接访问父类的非私有成员!)           

BJava继承的特点

   Java只存在单个继承不存在多个继承,即:一个类只能有一个父类(C++存在多个继承)

   Java可以多层继承,多重继承

     C、Java继承的优缺点

优点:继承能很好的提高复用率、继承是实现多态操作的前提  

缺点:继承使得多个类之间具有了子父类关系,当一个类存在多个子类的时候,如果父类发生变化,那么这些子类会跟着一同变化,造成类与类之间的“强耦合”关系!

 3)多态性

     A所谓多态是指:针对引用数据类型,对象在不同时刻表现出来的不同状态称之为多态,所谓的不同时刻

      一般指:编译时期与运行时期     

B、多态的形成条件

   a、具有继承或者实现关系,继承是对普通Java类而言,实现是对Java接口而言

   b、子类对父类的的方法进行了重写或者实现,Java的多态体现在方法上,既然是重写就表示子父类的方法体不同!否则没有实际意义!

   c、需要使用父类的引用指向子类的对象,接口的实现指向实现类的对象

     注:只具有a、c两个条件也是可以构成多态的,但是这样的多态没有实际意义,多态是针对Java类的方法的假如没有重写父类方法或者实现接口的方法,这样的多态不具有实际操作,没有意义!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值