——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
对面向对象的一些复习和加深
以前上学的时候学过一些编程的知识,当时对面向对象的知识点只是知道笼统的概念,也就是按照自己的方式去理解了一下。现在我看视频教程,结合自己的理解,总结了一下Java面向对象这方面的理解与应用。
一.面向对象的概念
面向对象的分析根据抽象关键的问题域来分解系统。是相对面向过程而言的。
面向对象和面向过程都是一种思想。而面向过程是强调功能行为,面向对象是将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。是把复杂的东西变简单了。
视频中毕老师举例大象关冰箱来区分面向对象和面向过程。把大象关冰箱分三步,开冰箱、关进去、关门。c里的面向过程讲述的是你去把冰箱们打开,你去把大象关进去,然后你去把冰箱门关上。而java,c++的面向对象里是你告诉冰箱打开,关大象进去,关上门,也就是从执行者变为了指挥者。还可以想,干什么事的时候,先想什么东西可以方便干这项事,找这项东西来完成这项事,这项东西就是面向对象。这样既可以快速的完成这件事,有省时省力。
整合一下,总结其特点:
1.符合日常人们的思考习惯。万物皆可以看成对象来对待。
2.把复杂的事情简单话,物尽其用。
3.将执行者变为指挥者。
编程期间,想要实现什么功能是首先想到的是找对象——建立对象——使用对象——维护对象的关系。
面向对象(Object-Oriented)=对象(Object)+类(Class)+ 继承(Inheritance)+通信(Communication)
面向对象的特点:封装、继承、多态。
封装就是将成员变量私有化,对外提供公有的方法;
继承就是将一些类的的公共部分取出成一个单独的类,其他类可以继承这个类;
对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现不同的行为。
二.类和对象的关系
类就是对一些事物的定义,编程中用class表示。它定义了就有相同特则的一些事物的属性和行为,相当于图纸。
对象就是具体的东西,一般在编程中通过new一个新的对象来实现一些功能。会在内存中产生堆内存,具有自己的特有属性。
它们的关系表示一个类可以产生多个对象,类只是一个定义,具有描述功能,相当于造汽车的图纸,对象就是汽车,有了图纸造多少汽车都可以。
成员变量与局部变量:
他们的不同在于它们作用的范围不一样。成员变量作用于整个类中。局部变量变量作用在函数中或者语句中。
在内存的位置:成员变量在堆内存中,因为对象的存在才在内存中存在;局部变量在栈内存中。
整合成几点为:
局部变量:1.声明后必须初始化才可以别访问;2.储存在栈中;3.所在代码块运行结束后,立即从栈中消除;
成员变量:1.声明或系统会初始化,默认赋值,响应的类型赋响应的值;2.所在代码块结束后,栈中的引用会立即消除,但堆中的数据不会立即消失,会成为垃圾,有垃圾回收器自动回收。
匿名对象的运用:
使用方法一:当对对象的方法只调用一次是,可以用匿名对象来完成,这样写比较简化,简化必然有其局限性。简单的说就是不需要对象的名字时可以使用匿名对象.
使用方法二:可以将匿名对象作为实际参数进行传递。
三.封装
封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。也就是说将成员变量私有化,对外提供公有的方法。
封装的概念:是指隐藏对象的属性和实现细节,仅对外提供公共房屋方式。
封装的好处是:将变化隔离;便于使用;提高重要性;安全性。
封装的原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对器访问。
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-