一、什么是对象和面向对象的编程。
对象就是存在的具体实体,具有明确定义的状态和行为,是面向对象编程的核心,用来描述现实世界中的实体,为计算机应用程序提供实体基础,也是完成特定任务一个封装。
那到底什么是对象,能举个例子吗?其实在我们的日常生活中,许多东西都是可以抽象成为对象,比如子杉同志有一辆汽车,这辆车就是对象了,这个对象(汽车)所具有的颜色,牌子,有产地等资料,也可以被我们称为是这个对象(汽车)的属性,这个对象(汽车)也能开动,同时也必须经常维修等等。而这些操作,我们称为是这个对象的行为,这就是对象了。
在面向对象编程中(简称:OOP),现实世界的所有事物全都被视为对象。OOP的目标是在计算机程序中,模拟现实世界中的概念,我们可以借助对象的描述就能够在计算机程序中用类似的实体模拟现实世界中的实体。同时OOP也是设计和实现软件系统的方法。
二、对象和类
类是具有相同属性和行为的一组对象的集合。类是用于组合各个对象所共有操作和属性的一种机制。
对象和类有什么关系呢?我们可以通过一个简单的例子来回答一下。
譬如现在有一个收银员叫子杉同志的。那么我们可以把他抽象成为一个对象——收银员对象。
这个对象有以下的一些资料:
姓名:子杉同志
职衔:收银员
年龄:25
体重:80千克
操作:收款和打印帐单
在现实社会中一个超市里面肯定不止一个员工,可能清洁工张三、李四等等。这些都是这个超市员工对象,或者称之为实例,而且所有的员工都有姓名、职衔、年龄、体重等属性;收款和打印帐单或者打扫卫生等行为。现在我们继续讨论这个子杉同志,他是一个收银员,让我们通过对收银员对象进行抽象,就可以得到一个收银员类(class),这个类拥有姓名、职衔、年龄、体重等属性;收款和打印帐单等行为。
综上所述类是对象的原型,所有属于同一个类的对象都具有相同的属性和行为,我们抽象了类之后,我们又可以用类定义实体。类是概念模型,对象是真实的模型。
三、属性和方法
类是java的基本单位,类一般包括属性和方法。
属性:事物的特性在类中表示为变量,每个对象的每个属性都拥有其特有的值,属性名称由类的所有实例共享,在类中表示对象或实体拥有的特性时称为属性,比如我们上面所说的收银员类就是有有姓名、职衔、年龄、体重等属性,属性一般使用名词描述。
方法:操作的实际实现方法指定操作对象数据的方式如何执行所请求的操作的规范在得到操作请求时指定如何做的算法对象执行的操作称为方法。比如我们上面所说的收银员类就是有收款和打印帐单等方法,属性一般使用动词描述。
四、面向对象思想
因为面向对象思想简单概括起来就是三个内容,即:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。
封装:就是把某些内容封起来,不让别人知道。有些对象自己的属性内部实现细节是不想让其他的对象知晓的,那么我们就可以把它封装起来。这就是封装的基本概念。
继承:顾名思义,继承就是儿子对父亲的继承,在类也可以有子类和父类的。子类对父类的继承,但是继承也不是全部继承的,若子类与父类在同一包中。子类继承了父类中所有不是private的成员方法(除构造方法)及不是private的成员变量继承,有关继承的具体我们在后面的会再介绍。继承的目标主要实现重用代码,节省开发时间。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向父类的指针,来调用实现子类中的方法。在java中多态一般又分为方法的重写和方法的重载。
编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。
运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。
以上就是极悦注册机构小编介绍的“Java基础学习:面向对象的深度分析”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
Java全套自学资料
Java自学视频教程(免费学习):
Java技术教程:
相关文章
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习