Java面向对象

1. 对象
在现实世界中,对象(object)无处不在。人们身边存在的一切事物都是对象。例如,一个人、一辆汽车、一台电视机、一所学校甚至一个地球,这些都是对象。除了这些可以触及的事物是对象外,还有一些抽象的概念,如一次会议、一场足球比赛、一个账户等也都可以抽象为一个对象。一个对象一般具有两方面的特征;状态和行为。状态用来描述对象的静态特征,行为用来描述对象的动态特征。
例如,一辆汽车可以用下面的特征描述:生产厂家、颜色、最高时速、出厂年份、价格等。汽车可以启动、加速、转弯和停止等,这些是汽车所具有的行为或者说施加在汽车上的操作。又如,一场足球比赛可以通过比赛时间、比赛地点、参加的球队和比赛结果等特性来描述。软件对象也是对现实世界对象的状态和行为的模拟,如软件中的窗口就是一个对象,它可以有自己的状态和行为。
通过上面的说明,可以给“对象”下一个定义,即对象是现实世界中的一个实体,它具有如下特征:有一个状态用来描述它的某些特征。有一组操作,每个操作决定对象的一种功能或行为。
因此,对象是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的实体。一个对象可以非常简单,也可以非常复杂。复杂的对象往往是由若干个简单对象组合而成的。例如,一辆汽车就是由发动机、轮胎、车身等许多其他对象组成。

2.类
类(class)是面向对象系统中最重要的概念。在日常生活中经常提到类这个词,如人类、鱼类、鸟类等。类可以定义为具有相似特征和行为的对象的集合,如人类共同具有的区别于其他动物的特征有直立行走、使用工具、使用语言交流等。所有的事物都可以归到某类中。例如,汽车属于交通工具类,手机属于通信工具类。
属于某个类的一个具体的对象称为该类的一个实例(instance)。例如,我的汽车是汽车类的一个实例。实例与对象是同一个概念。
类与实例的关系是抽象与具体的关系。类是多个实例的综合抽象,实例是某个类的个体实物。
3.消息
对象与对象之间不是孤立的,它们之间存在着某种联系,这种联系是通过消息传递的。例如,开汽车就是人向汽车传递消息。
一个对象发送的消息包含三方面的内容:接收消息的对象;接收对象采用的方法(操作);方法所需要的参数。

面向对象的基本特征:抽象 封装  继承  多态

一、封装性
封装(encapsulation)就是把对象的状态(属性)和行为(方法)结合成一个独立的系统单位,并尽可能地隐藏对象的内部细节。例如,一辆汽车就是一个封装体,封装了汽车的状态和操作。
封装使一个对象形成两个部分:接口部分和实现部分。对用户来说,接口部分是可见的,而实现部分是不可见的。
封装提供了两种保护。首先封装可以保护对象,防止用户直接存取对象的内部细节;其次封装也保护了客户端,防止对象实现部分的改变可能产生的副作用,即实现部分的改变不会影响到客户端的改变。 
在对象中,代码或数据对该对象来说都可以是私有的(private)或公有的(public)。私有代码和数据仅能被对象本身的其他部分访问,不能被该对象外的任何程序所访问。当代码或数据是公有的时,虽然它们定义在对象中,但程序的其他部分也可以访问。

二:继承性          //由已知类生成新类的过程
继承(inheritance)的概念普遍存在于现实世界中。它是一个对象获得另一个对象属性的过程。继承之所以重要,是因为它支持层次结构类的概念。可以发现,在现实世界中,许多知识都是通过层次结构方式进行管理的。
例如,一个富士苹果是苹果类的一部分,而苹果又是水果类的一部分,水果类则是食物类的一部分。食物类具有的某些特性(可食用,有营养)也适用于它的子类水果。除了这些特性以外,水果类还具有与其他食物不同的特性(多汁、味甜等)。苹果类则定义了属于苹果的特性(长在树上,属于非热带植物)
如果不使用层次结构,那么对象就不得不明确定义自己的特征。如果使用继承,那么对象就只需定义自己特有的属性就可以了,至于基本的属性则可以从父类继承。
继承性体现了类之间的是一种(IS-A)关系。类之间的关系还有组合、关联等。

三:多态性(抽象性)

多态性(polymorphism)是面向对象编程语食物类及子类层次课言的一个重要特性。所谓多态,是指一个程序中相同的名字表示不同含义的情况。面向对象程序中的多态有多种情况。在简单的情况下,在同一个类中定义了多个名称相同的方法,的即方法重载;另一种情况是子类中定义的与父类中的方法同名的方法,即方法覆盖。这两样冲情况都称为多态,且前者称为静态多态,后者称为动态多态。

结构:

package p1;

public   class   Square  {

  //1.成员变量

  //2.构造方法

  //3.成员方法

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值