面向面
面向面想对象的概念:向面向对象:将功能封装进对象,强调具备了功能的对象。对象:将功能封装进对象,强调具备了功能的对象。
面向对象:是基于面向过程的一种思想。
面向过程:强调的是功能行为。
面向对象:将功能封装进对象,强调具备了功能的对象。面向对象是基于面向过程的。
面向对象的三大特性:封装,继承,多态以后的开发过程:其实就是找对象用。没有对象,就创建一个对象。
找对象,建立对象,使用对象,并维护对象的关系。
面想对象———封装(特性之一)
面想对象———封装(特性之三)
封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装好处:
封装原则:1.将变化隔离;
2.便于使用。
3.提高重用性。
4.提高安全性。
将不需要对外提供的内容都隐藏起来。
private:关键字把属性都隐藏,提供公共方法对其访问。
A:用于修饰成员变量和成员方法。
B:被修饰的内容在其他类中是不可以被访问的。注意:私有仅仅是封装的一种体现而已。
面想对象———继承(特性之二)
继承是一指一个对象从另一个对象获得功能的过程,它提供了一种明确表述共性的方法。是一个不断向上抽取的过程
例如:所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处
理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。
继承与封装可以共同作用.如果一个给定的类封装了某些属性,它的任何子类将会继承同样得属性,另加各个子类所有得特有属性。
继承概述:
1、Java语言中,Java只支持单继承,不支持多继承。
即使一个类只能有一个子类(extends) 一个父类(super),不允许多个,容易有安全隐患。
(1)、比如,同时继承两个类,但是两个类中有连个同名函数。
(2)、但是Java保留了这种机制,并用另一种体现形式来完成表示,叫做多实现。
(3)、Java支持多层继承,也就是一个继承体系,B继承A,C继承B,这样C就既有了A的功能,又有了B的功能,这就是多继承。
2、使用一个继承体系的功能
(1)、要想使用体系,先查阅体系父类的描述,因为父类中,定义的是该体系中共性的功能。
(2)、通过了解共性功能,就可以知道该体系的基本功能。
(3)、那么这个体系已经可以基本使用了。
4、简单一句话:查阅父类功能,创建子类对象使用功能
继承的出现:
1,提高了代码的复用性。
2,让类与类之间产生了关系。有了这个关系,才有了多态的特性。
面想对象———多态(特性之三)
多态简单说,就是某一类事物多种存在形态。例如,猫对应的类型是猫类型,但同时他也是动物中的一种,也可以把猫称为动物。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数扩展性。
1,多态的体现
父类的引用指向了自己的子类对象。
2,多态的前提父类的引用也可以接收自己的子类对象。
必须是类与类之间有关系。要么继承,要么实现。
通常还有一个前提:存在覆盖。
3,多态的好处
4,多态的弊端多态的出现大大的提高程序的扩展性。
提高了扩展性,但是只能使用父类的引用访问父类中的成员。