Java-面向对象oop
在提到面向对象的时候,大多数的书上面介绍的是简短的 类是对象的集合,对象是类的实例化。这样笼统的说法的确可以概括面向对象的思想,但却不能让一个刚入门的人理解到面向对象。
在这里先介绍一下类,当你在Java中看到类的时候,希望你能想到人类。人类里面有各种国度、各种肤色的人们,直到具体到一个具有身份证号和姓名的人。就是这些具体的人向上的抽象组成了类。物以类聚,具有相同的属性和动作物品聚到一块,便是一种类,这个类里面可以取出来无数的具体的物品,每一个物品都有他的属性,所以这些相同的物品组成的类便会把他们的共有属性定义为自己的类属性,比如“Color”,动物都有颜色,高级动物--人类也有不同的肤色,所以就可以把这个共有的对象属性提取为一个类的属性。在类中定义成员的变量便是属性,动作也是,在类里面的方法被称为动作,和属性的提取方法一样,都是将一类对象具有的共同动作提取为类的动作。这就是类的属性和方法。
对象,万事万物都是对象,都是可以通过类new出来的,在Java中的创建对象的方式,类名 引用名 = new 类名([参数列表]);相当于是从类里面取出来一个对象,引用名是在栈中存放的地址,可以通过这个地址去找到堆中new出来的具体对象,关于JVM的堆栈介绍之后会介绍的。在这里还是讲对象,在人类里的你、我都是 人 这个类 new 出来的具体的一个People,你、我都是人类的一个实例,一个具体的体现。想从类中创建对象、或者说提取对象的关键字便是new,这就是Java用类创建对象的固定格式。
面向对象的好处:学过c的都是到,c是面向过程的,程序的每个任务都需要编写者一步一步的全部代码写出来,各种情况都需要考虑。而在Java中面向的想的思想中,就是 找谁做、谁会做。如果在c中想要吃馒头,则就需要作者去将馒头的制作过程了解一下,然后一步一步的从生产小麦、面粉、制作面团、蒸馒头等一步一步的完成。而面向对象则是,卖馒头的人会做馒头,不用管其制作过程,直接找到卖馒头的一类人中的一个,也就是从类里面new一个卖馒头的人来用即可。