java基础教程:面向对象(13)


亲爱的ladys and gentleman,前端时间我们的课程是java的基础语法。

今天开始,我们开始进入java的面向对象编程。要面向对象编程,首先我们需要了解面向对象是什么?


今天的内容:

1、面向对象的介绍

2、对象类和对象

3、对象类和对象的使用



第一部分:面向对象

面向对象是什么?首先呢,要知道一句话,万物皆对象。


如何理解这句话:万物皆对象?其实就是我们生活周围都是对象。比如人,衣服,杯子,车,猫。

他们都是一个个独立的个体,也都是一个个可研究的对象。这个道理在程序里也是一样的。

我们把现实中的对象抽象到程序当中,在程序中使用代码结构表示这种研究的对象。

这样一来,我们编程的时候,就可以模拟实际的对象交互的行为,比如吃饭睡觉等等。

让我们的编程直观、易于理解、可以重用和维护。



那么,面向对象(Object-Oriented Technology)的定义如下:

面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。


----------定义摘自百科。



我们用一个例子来看下。


现实对象:人。

他具有一些表示这个对象的描述标签,比如姓名,性别,年龄,籍贯,身高,体重等,称为属性。

他还有一些表示这个对象的行为的描述:如吃饭,睡觉,工作等,称为行为。


那我们就可以把这个现实的对象转换为程序语言描述:

程序对象:人

使用一个类代表一类人的公共抽象,包括人的属性和行为。

class Person{
//首先根据现实对象用成员变量或类变量来编写描述标签
String name;
String sex;
int age;
String born;
int height;
float weight

//再根据现实对象,使用成员方法或静态方法编写其行为
void eat(){
	System.out.println("我在吃饭");
}
void sleep(){
	System.out.println("我在睡觉");
}
void work(){
	System.out.println("我在工作");
}

}

这样一来,人这个现实的对象,就转换为程序的类了。这个类就可以代表一类人,作为人的模板

此时,如果想用这个类创建一个实际的人-张三,那就很简单了。我们来看:

Person p = new Person();
p.name = “张三”;
p.sex=“男”;
p.age=23;
p.born="";
p.height=175;
p.weight=62.5f;


现在,对象p就是张三。它具有张三的属性和行为。你完全可以把他当做张三看待。

由此可见,面向对象有很多优势:

面向对象更贴近自然语言,容易被人接受。
对象之间是独立的,一个对象的改变不会影响另一个对象的稳定性,只需要调整他们的行为关系即可。降低了编程的耦合。
对于业务流程不完全掌握的情况,也可以团队协作开发个别模块


第二部分:对象类和对象

通过上面的部分,我们明白了面向对象的编程思想。

接下来我们需要继续深入了解面向对象编程当中的两个基本概念:对象类和对象,明白如何使用java定义他们。


1、对象类

对象类就是描述一组对象的类,类当中抽象了这一组对象的属性和行为,作为对象的模板。

比如Person类就是一个对象类,当中抽象出来了人的一些属性和行为,作为可以创建任何一个人的模板。

那么一个对象类的定义结构是什么呢?其实上面的例子已经看到了。

对象类的定义结构为:


Class 类名{
Type 属性名;//对象属性field,可以是多个
。。。


构造函数(){//对象初始化时调用的方法,也叫构造器,构造方法constructor
}


返回类型 方法名(参数,…){//对象的行为方法method,可以是多个
}
}



我们使用Person类对比介绍,一个对象类需要的部分是

1、属性。可以使用成员变量或静态变量表示,可以为多个。

例如,姓名,性别,年龄等等。

2、行为。可以使用成员方法或静态方法表示,可以为多个。

比如吃饭,睡觉,工作等等

3、构造器(可选)。定义:实例化对象时执行的初始化方法。

比如我想在实例化一个人的时候就指定他的姓名,那么可以在构造函数里指定实例化的必须的姓名。

然后利用这个指定的姓名为该实例对象的姓名赋值。代码如下:

public Person(String name){//限制对象实例化必须指定姓名

     this.name=name;//将指定的姓名赋给实例的对象
}


构造方法结构:

修饰符 类名(参数列表){

实例化代码

}


相比普通方法,构造函数有如下特点

1、不创建时编译器默认创建一个无参数的构造方法
2、方法名称和类名一致
3、不填写返回类型
4、可以有多个参数个数不同或参数类型不同的构造方法



2、对象

一旦对象类创建完成,对象就非常简单了。只需要通过对象类实例化一个空间出来,存放实际的人就可以。

实例化后的对象是互相不干涉的,我们可以为这些对象赋值属性,让其描述我们想表示的对象。

例如我们可以通过Person类实例化张三和李四,为他们设定描述属性。

Person zhangsan = new Person("张三");
zhangsan.sex="男";
Person lisi = new Person("李四");
lisi.sex="女";

对象的创建我们仔细剖析下:

在Java中,使用关键字new来创建一个新的对象。创建对象和创建一个引用变量一样。

唯一需要给大家补充的是,实例化时new后面的内容其实是构造函数。




第三部分:对象类和对象的使用

1、对象类的使用

对象类的使用就是创建对象。上面已经讲述过了。

使用一个对象类可以创建任意多的这类对象。一个Person类可以创建任意多的人。


2、对象的使用

对象要使用,必须先进行创建和实例化。Person zhangsan = new Person();

如果要使用对象的属性,还必须先设置对象的属性。zhangsan.name="张三";

对象的方法不用设置,类定义后,创建了对象就可以使用。zhangsan.eat();



以上,是今天的内容:

面向对象的介绍

对象类,对象的定义和使用。


你学会了吗?





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值