面向对象的三大基本特色 (面向对象的三个基本特征是什么)
本文目录导航:
面向对象的三大基本特色-Java言语版
面向对象程序设计言语的特性关键包含封装、承袭、多态和形象。
形象是将事实环球的事物映射到代码过去,用符号代表事实环球中的事物。
封装则是将类的数据域和方法敞开起来,经过private、protected和public润色符来控制数据域和方法的访问权限,以成功暗藏和限度外部对类的间接访问。
封装有助于提高代码的可读性和可保养性,同时包全数据安保。
承袭则准许一个类承袭另一个类的属性和方法,构成档次结构,使得代码更易于复用和裁减。
多态是指一个行为具备多种外形,关键经过方法重写成功,准许同一方法名在不同类中具备不同的成功,提高了代码的灵敏性和可裁减性。
在封装中,private关键字用于齐全暗藏数据域,protected关键字则准许子类访问,而public关键字准许任何代码访问。
暗藏数据域和方法可以防止外部修正,提高代码的安保性和封装性。
在承袭中,子类承袭父类的属性和方法,经过结构器的调用顺序成功对象实例的构建,确保后人结构器先于子类结构器被调用。
经常使用final关键字润色类、域或方法可以阻止代码的裁减和修正,包全关键属性和行为的无法变性。
多态关键经过方法重写成功,当子类重写了父类的方法时,可以依据对象的实践类型灵活选用调用相应的方法,成功行为的多态性。
静态绑定和灵活绑定是多态成功的关键概念,静态绑定在编译时确定方法调用,而灵活绑定在运转时依据对象的实践类型选用方法。
了解静态绑定和灵活绑定有助于更好地把握多态的机制和运行。
在承袭和多态的基础上,类可以具备多种外形和形态,实现代码的复用和裁减。
形象类和接口则为成功特定配置的类提供了一个框架,准许其余类承袭并成功详细行为,进一步促成了代码的模块化和复用性。
了解封装、承袭、多态和形象的概念及其在面向对象编程中的运行,关于构建复杂、可保养和可裁减的软件系统至关关键。
面向对象的三大特色在java中的表现?
一、封装
首先,属性能够形容事物的特色,方法能够形容事物的举措。
封装就是把同一类事物的特性(包含属性和方法)归到同一类中,繁难经常使用。
封装:封装也称消息暗藏,是指应用形象数据类型把数据和基于数据的操作封装起来,使其成为一个无法宰割的全体,数据暗藏在形象数据外部,尽或者的暗藏数据细节,只保管一些接口使其与外界出现咨询。
也就是说用户无需知道外部的数据和方法的详细成功细节,只要依据留在外部的接口启动操作就行。
为了成功良好的封装,咱们理论将类的成员变量申明为private,在经过public方法来对这个变量来访问。
对一个变量的操作,普通有读取和赋值2个操作,,咱们区分定义2个方法来成功这2个操作,一个是getXX(XX示意要访问的成员变量的名字)用来读取这个成员变量,另一个是setXX()用来对这个变量赋值。
二、承袭
1. Java承袭
Java承袭是面向对象的最清楚的一个特色。
承袭是从已有的类中派生出新的类,新的类能排汇已有类的数据属性和行为,并能裁减新的才干。
JAVA不支持多承袭,单承袭使JAVA的承袭相关很繁难,一个类只能有一个父类,易于治理程序,父类是子类的普通化,子类是父类的特化(详细化)
承袭所表白的就是一种对象类之间的相交相关,它使得某类对象可以承袭另外一类对象的数据成员和成员方法。
若类B承袭类A,则属于B的对象便具备类A的所有或局部性质(数据属性)和配置(操作),咱们称被承袭的类A为基类、父类或超类,而称承袭类B为A的派生类或子类。
承袭防止了对普通类和不凡类之间独特特色启动的重复形容。
同时,经过承袭可以明晰地表白每一项独特特色所顺应的概念范畴——在普通类中定义的属性和操作顺应于这个类自身以及它以下的每一层不凡类的所有对象。
运用承袭准则使得系统模型比拟精练也比拟明晰。
三、多态
方法的重写、重载与灵活衔接构成多态性; Java之所以引入多态的概念,要素之一是它在类的承袭疑问上和C++不同,后者准许多承袭,这确实给其带来的十分弱小的配置,然而复杂的承袭相关也给C++开发者带来了更大的费事。
为了规避危险,Java只准许单承袭,派生类与基类间有IS-A的相关(即“猫”is a “生物”)。
这样做只管保障了承袭相关的繁难明了,然而势必在配置上有很大的限度,所以,Java引入了多态性的概念以补偿这点的无余,此外,形象类和接口也是处置单承袭规则限度的关键手腕。
同时,多态也是面向对象编程的精髓所在。
要了解多态性,首先要知道什么是“向上转型”。
我定义了一个子类Cat,它承袭了Animal类,那么后者就是前者的父类。我可以经过
Cat c = new Cat();例化一个Cat的对象,这个不难了解。
但当我这样定义时: Animal a = new Cat();
父类援用只能调用父类中存在的方法和属性,不能调用子类的裁减局部;由于父类援用指向的是堆中子类对象承袭的父类;(然而假设强迫把超类转换成子类的话,就可以调用子类中新参与而超类没有的方法了。)
同时,父类中的一个方法只要在父类中定义而在子类中没有重写的状况下,才可以被父类类型的援用调用;
不属于面向对象的三大特色的是
不属于面向对象的三大特色的是形象性。
面向对象的三大特色:承袭、封装、多态。
封装:封装是面向对象编程的外围理想,繁难点说就是,我把某些物品封装起来,这些关键的外围的物品不能给你看,然而我可以提供应你一些繁难经常使用的方法。
封装其实是对外暗藏复杂细节,提供繁难易用的接口。
在Java中这种暗藏或地下是经过权限润色符来成功的。
承袭:类和类之间有些也会具备必定的相关,比如说四边形,可以分为正方形、长方形、菱形,他们岂但承袭了四边形的特色,也具备属于自己的特色,这就是一种承袭的相关。
有时刻咱们宿愿基于某一个类启动裁减,使一个新类间接领有基类的基本特色,而不须要重复去写,这就是承袭的思维。
比如说手机的逐渐开展,最早的大哥大只要通话配置,起初的按键手机参与则界面等操作,再到如今的自动手机,它们不是欲速不达的,而是经过在原有的配置上再参与新配置而逐渐演化过去的,就其实就是一种承袭的直观表现。
多态:多态指同一个实体同时具备多种方式。
同字面意思,及一个对象在不同的状况下会有不同的表现。