面向对象设计思想的特点(简述面向对象的程序设计思想)
初学者快速理解java面向对象思想,首先我们需要知道在理解面向对象时需要知道的几个名词:对象,类,还有类中一些成员变量和成员方法,下面我们一一来进行分析:
对象:
对象是人们要进行研究的任何事物,从简单的一个小分子到复杂的汽车飞机都可以看做对象,只是有时对象要根据人们研究问题的需要来确定,对象不一定是具体的,有时也可以表示抽象的规则或计划。
类:
类在java中是具有相同或相似性质的对象的抽象体现形式。也就是说,类的实例化就是创建对象的过程类的实例就是对象。
其实类的创建在一定程度上是符合人的思维的,我想借一个例子来说明这个问题,同时熟悉一下类的大致结构:
我们创建一个people类:
package com.guang.email;
public class people {
private string head;
private string arms;
private string legs;
public people() {
}
public void hit(){
system.out.println("hit you");
}
public void eat(){
system.out.println("我要吃饭");
}
}
首先我们看一下类结构,有成员变量,成员方法,还有构造方法,对于结构这里就不多讲了,有很多同学不明白构造方法是干什么的,其实,构造方法是在实例化对象时执行的方法,一个类可以有很多构造方法,根据你创建对象时参数的不同来调用不同的构造方法,这就是所说的重载。
对于people类我们就叫他人类吧,你说人类是个什么,你可以摸的着吗,其实他就是一个定义,一个抽象的东西,但是当我们在对他实例化时,你就可以知道他是一个具体存在的东西:例如:
people jim = new people();
jim.hit();
jim.eat();
我们实例化出了jim这个人的对象,是真实存在的,具体的,有头,有胳膊,还有腿等,并且他还可以打人,吃饭。
其实面向对象并不难,很接近我们现实生活的,就是通过我们对自然界的认知,经过一点点的转变,就转换到编程语言上来了,也就是说,你用自然的思维去理解考虑问题就可以了,但是刚开始我们会不习惯,就像thinking in java里写的那样:“我们可能会被这种简单性所难倒”你需要一段时间去习惯,开始的时候可以先模仿,写的多了可能慢慢就会体会到面向对象的奥妙。
理解了上面对面向对象的一些基础的东西以后,我们来看面向对象的三个特性:封装、继承、多态。看似简单的六个字,却是面向对象的核心,下面我们一起来看看这三个特性:
java封装:
面向对象最基础的一个特性,封装性,封装是根据需要,把代码和指令代码捆在一起,就像一个保护器,防止外界代码随意的访问,而是根据该保护器定义的接口来控制,封装的好处是根据问题的需要,封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,也不用担心其他的一些副作用。
在java中,最基本的封装单元是类,一个类定义着将由一组对象所共享的行为(数据和代码).一个类的每个对象均包含它所定义的结构与行为,这些对象就好象是一个模子铸造出来的.所以对象也叫做类的实例。
在定义一个类时,需要指定构成该类的代码与数据.特别是,类所定义的对象叫做成员变量或实例变量.操作数据的代码叫做成员方法.方法定义怎样使用成员变量,这意味着类的行为和接口要由操作实例数据的方法来定义。
由于类的用途是封装复杂性,所以类的内部有隐藏实现复杂性的机制.所以java中提供了私有和公有的访问模式,类的公有接口代表外部的用户应该知道或可以知道的每件东西.私有的方法数据只能通过该类的成员代码来访问.这就可以确保不会发生不希望的事情。
继承
继承是指一个对象从另一个对象中获得属性的过程.是面向对象程序设计的三大原则之二,它支持按层次分类的概念.例如,黑种人是人的一种,美国人有时白种人的一种,.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性。
继承与封装可以互相作用.如果一个给定的类封装了某些属性,它的任何子类将会含有同样得属性,另加各个子类所有得属性.这是面向对象程序在复杂性上呈线性而非几何增长的一个重要概念.新的子类继承其所有祖先的所有属性.子类和系统中的其他代码不会产生无法预料的交互作用。
java多态
多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用”一个接口,多个方法”来描述.可以通过方法的参数和类型引用。多态使得对象间交互更为灵活。
封装,继承,多态的组合使用:
在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.同样,通过使用面向对象的设计原则,程序员可以把一个复杂程序的各个构件组合在一起,形成一个一致,健壮,可维护的程序
总的来说,所谓封装,就是通过定义类并且给类的属性和方法加*问控制来抽象事物的本质特性。所谓继承,就是代码重用,而多态,从另外一个角度分割了接口和实现。
理解了之后这些之后,想必你对面向对象会有一个新的认识,那么,接下来,可以找个小的程序题,或者生活中的某个应用,来自己设计并实现它吧。
以上就是动力节点java培训机构的小编针对“初学者快速理解java面向对象思想”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。