类和对象
一、面向对象的初步认识
1.1什么是面向对象?
java是一门纯面向对象的语言(Object Oriented Program,继承OOP),在面向对象的世界里,一切皆为对象,面向对象其实是一种解决问题的思想方式,其主要是依靠对象之间的一些交互去完成一件事情,用面向对象的思想来牵扯程序,更加·符合人们对事物实际的认识,对于大型的程序设计、扩展及维护都非常的友好。
1.2面向对象和面向过程
1.传统的洗衣服过程
可以看出传统的方式去洗衣服非常的繁琐,而且每个步骤都缺一不可,不同的衣服在清洗过程中也大不相同,这就导致处理起来非常麻烦。
如果我们以这种方式去写我们的代码,那么维护和扩展也会比较繁琐
2.现代洗衣服
在这个过程中总共有四个对象:人、衣服、洗衣液、洗衣机。
整个过程:人将洗衣机放进洗衣机,并将洗衣液倒入,开启洗衣机(过程中会甩干),洗衣机就会完成洗衣服的任务。
我们可以看出,整个过程就是在四个对象之间的交互下完成的,小人并不需要关心洗衣机的工作原理。
当然了,其实面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景
二、类的定义和使用
1.什么是类?
类是用来对一个实体或是对象进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干
啥),描述完成后计算机就可以识别了。
举个例子:
2.类的定义格式
在java中定义类需要用到class关键字,具体的语法如下
// 创建类
class ClassName{
field; // 字段(属性) 或者 成员变量
method; // 成员方法
}
以上述代码为例子。class为类的关键字,ClassName为类的名字,{}中为类的主体。
注意:我们在java中定义类名时通常是以大驼峰的形式进行定义的。
通常我们称类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,我们称为类的成员方法。
我们以电视机为例子来创建一个电视机类
class Tv {
public String brand; // 品牌
public String type; // 型号
public double weight; // 重量
public double lenght; // 长
public double weidth; // 宽
public double height; // 高
public String color; // 颜色
//上面的为该类的成员遍量
//下面的为该类的成员方法
public void switchChannels(){
System.out.println("切换频道");
}
public void videoFeatures(){
System.out.println("视频功能");
}
}
采用Java语言将电视机类在计算机中定义完成,经过javac编译之后会形成.class文件,在JVM的基础上计算机就可以识别了。
注意事项:
●类名采用大驼峰定义(当然如果不用大驼峰也是可以,不过这算是一种规范)
●成员前写法统一为public,以后的博客会提及
● 此处写的方法不带 static 关键字. 以后会详细解释(我们这里只是先初步介绍下类)
三、类的实例化
1.什么是实例化?
定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型。
比如上述的:Tv类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。
用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象
我们来重新定义一个宠物狗狗类
class PetDog {
public String name;//名字
public String color;//颜色
// 狗的属性
public void barks() {
System.out.println(name + ": 旺旺旺~~~");
}
// 狗的行为
public void wag() {
System.out.println(name + ": 摇尾巴~~~");
}
}
public class Main{
public static void main(String[] args) {
PetDog dogh = new PetDog(); //通过new实例化对象
dogh.name = "阿黄";
dogh.color = "黑黄";
dogh.barks();//在实例化类的对象后,我们就可以通过dogh.成员方法的方式来访问类中的成员方法
dogh.wag();
PetDog dogs = new PetDog();//这里我们有实例化了一个对象
dogs.name = "阿黄";
dogs.color = "黑黄";
dogs.barks();
dogs.wag();
}
}
输出结果:
阿黄: 旺旺旺~~~
阿黄: 摇尾巴~~~
赛虎: 旺旺旺~~
注意事项:
●new关键字是用来创建一个对象的实例
●可以通过 . 来访问类中的属性和方法
●在上述代码中我们也可以看出,一个类可以创建多个实例
2.类和对象的说明
- 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
- 类是一种自定义的类型,可以用来定义变量,但是在java中用类定义出来的变量我们称之为对象.
- 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
- 做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间
总结
以上就是我今天要说的内容啦,简单的介绍了一下类和对象,举了几个小例子来说明什么是类和对象,之后我会继续学习,并发布类和对象的之后的内容。希望佬佬们多多支持。