java 面向对象之我见
———–老师布置的作业
对于面向对象的思想,我想这是一个很宽很大的概念,很多是只可以意会,不可言传的。
我说一下我的理解,望指教
我对于面向对象的理解,主要是依据“万物皆对象”的说法,在java 的编程语言里面,所有的东西都是对象,就像老师在上课的时候说的那样:“班级里面没有男生和女生,有的只是对象而已。”
把现实生活中的物体或是其他的什么东西,都看成一个对象,用java的代码来具体的抽象和表示。
==========================
关于对象的概念
==========================
Booch offers an even more succinct description of an object:
An object has state, behavior and identity.
对象有状态,行为和标识。
上面是《thinking in java》第三版里面对于对象的定义。
这几天的学习知道,对于java面向对象有两种主要的说法。
package com.zidan.test;public class student {int userid;String usernameString;String addressString;int age;}
student stu = new student();
一、认为在类实例化的过程中,对象和实例是相同等价的;
认为stu既是对象,也是一个实例;
认为对象是一个很大的概念,他包含类对象和实例对象;
实例本身也是对象 对象是一个统称 可以分为类对象和实例对象 类对象是实力对象的模版 类似的概念有原类(metaclass),是类的模版
二、认为对象是一种引用,在上面student的例子中,对象stu是对类实例化之后得到的实例的一种引用。
student stu 创建一个对象,一个引用变量,变量的名字叫 stu
new student() 这是一个实例化的过程,产生一个对象,他的名字未知、或者说产生的这个对象是没有名字的;
student stu = new student() 式子中间的等号“=”,作用是:让引用变量stu 指向产生的那个对象。
=========================
关于类的概念
=========================
一些具有相同特征和行为的对象在一起组成的群体,叫做类。
好像在所有的编程语言中,都有类的存在,好像类是每个语言最最基本的组成部分。
一旦创建了一个成功的类,就可以通过这个类创建很多个对象,通过这些对象来作为解决每个问题的元素。
在java中,int,char,long,string,float等等,几乎所有的名字里面包含“类”这个字的关键字,都属于类的范畴。
====================================
关于面向对象的四大特征
====================================
- 封装:关于封装的特性,我觉得主要讲述java如何通过四个访问修饰符来完成对于类中数据的保护和隐藏;多态:方法的重写和重载,“一个接口,多个方法”;继承:延续一个优秀的、已存在的类的优良传统,抽象:增强程序的扩展性和兼容性;为了更好的重用代码,规范编程;为了开发大型项目而设计的规则,以便于团体开发。(不怎么了解,很少用到)
人生的大部份时间里,承诺同义词是束缚,奈何我们向往束缚。