课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中简单介绍了关于面向对象编程中的对象的概念以及编程方法等问题,下面我们就一起来了解一下,关于编程开发中的类和对象的关系问题。
类和对象的关系:
类是描述某些具有共性事物的一个抽象概念,它不是一个客观存在的东西,它就是一个模板。
类可以定义对象
简单说:类是对象的模板,对象是类的实例。
类的抽取过程是从众多对象中提取出相似特征和动作进行封装的,不是凭空捏造的,比如:
小明是一个学生,小花是一个学生,经过我们从这一个个对象中我们发现他们都有相同的属性和行为,
这个时候就可以使用学生类进行承载。思考的过程是先有对象再有类,使用的时候现有类再创建对象。
需要强调一点:每个对象都拥有相同的方法,但各自的数据可能不同。
类都有哪些构成?
一个类通常有哪些元素构成,这些元素都有什么存在价值,换句话我们可以通过这些元素可以干什么。
【类名】描述类的职责,知名达意
类名的好坏直接影响我们对这个类职责的定义,所以好花点时间去琢磨一下类的命名。
【注释】使用注释说明方法,属性,类职责
【属性】用来表示对象状态
【构造函数】可以为创建对象提供多种形态的入口,可以初始化对象
构造函数是在对象初始化的时候使用的,通常某个对象在提供自己的对外服务的时候,必须让其他对象传递相关的数据,
在构造函数中进行接受这些数据是经常的做法,如果某些数据是无关紧要的可以不用再对象创建时就提供的建议不要通过构造,
从某种意义上来说构造函数的用途就是为对象获取整个生命周期重要的数据提供一个入口,对外表达一个意义:你要想使用我(对象),就必须提供给我这些数据,否则我(对象)的服务是不能提供给你的。
比如:数据库持久对象,在使用它提供操作数据服务之前必须要给它提供数据源连接的信息,不然是不可以使用的,具有强制性。
构造函数经常用来:
1.初始化本对象的所有属性。
2.强制用户类提供相关数据,并提供多种创建该对象的方法(构造函数重载)
3.也可以在类初始化的时候做其他的业务操作。
【访问方法setter】保证访问属性的安全,修改属性保证只有一处
这也是面向对象又一特性"封装"的体现,控制自身属性的安全访问。
【公共方法】提供类对外的服务
提供公共方法也是类存在的重要职责,一个没有任何对外服务的类可以放弃啦。
类内部提供方法的实现细节,而类的使用者不用关心具体谢姐。
提公共方法的命名一样很重要,
【私有方法】将不想用户关心的实现,放到私有方法中。
【作用域】控制属性的访问范围。
怎么创建一个合理的类
1.提供合适的构造函数。
2.让类属性的作用域尽可能小。
3.对类中的元素要合理添加上注释,没有任何注释的类如果命名再不合理就会造成维护理解困难。
4.提供合适的对外接口,这个下面有专门讲。
5.设计的类必然是要和其他的类进行交互的,要么是调用其他的服务,要么本身提供服务,没有这两点的类可以干掉啦。
6.要知道一个原则:类应该只对自己负责
自身状态的变更:
比如:商品的状态由上架,下架。如果要变更商品的状态应该有商品自己去提供变更状态的公共接口。
自身提供的服务:
比如:画图形,方形,圆形,星型它们内容应该是知道如何画出自己的图形。这就是对象负责自己的行为。
7.减少对象之间的依赖
相互依赖的比较少,也就是说一个类的修改不会对其他类产生影响,或者影响很小。
我们经常看到使用hibernate的对象之间关系维护都是对象中直接持有另外一个对象,或集合。
甚至将属于另外一个类职责的行为放到了本类中。
这样的设计会增加对象之间的依赖。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!