黑马程序员_java自学学习笔记(三)----面向对象和类

黑马程序员_java自学学习笔记(三)----面向对象和类

android培训java培训、期待与您交流!

        java作为一种面向对象的程序设计语言,主要还是需要用面向对象的思维来解决问题。所谓面向对象,个人理解,思想更重要,语言其实分别不大。如果有了思想,就算是用面向过程的语言(例如C)写出来的程序也是面向对象的。语言,只是承载思想的工具,具体如何使用,还是要看人。

        (一) 面向对象

        面向对象,通俗的讲,就是将原先人做的事情,变成人去指挥对象,让对象去做。

        例如,人去开门这件事。利用面向过程的思想去做,就是第一步,插入钥匙;第二步,扭动钥匙;第三步,把门拉开;该过程关注门怎么去开,每一步人都要清楚怎么去做,最终目的是要开门,要开门,钥匙孔必须转动才能使锁打开,那么首先就需要插入钥匙。该过程需要人完全了解怎么去开门。这就像我是一个企业的领导,我要清楚的知道如何去做每一件事,一步一步给出指令,让员工去执行。历史上最牛的这种人,是三国时期被累死的蜀相诸葛亮。

        于是人们更关心结果而不是如何得到结果。于是人开始换门,换了自动门,人需要的只是给出指令,具体如何操作,由门自己来完成,因为门具有被开的功能。换成是一堵墙,它本身就不具备这种功能,所以累死它也无法打开。该类工作方式,人不需要知道门如何开的,只需要下指令,调用相关的功能,让功能自己去实现去,至于如何实现,不管人的事。作为企业领导,这样就省心多了,因为员工具有办好事的功能,并不需要每件事都有人去一步一步安排好,作指导,领导只需要关注结果即可。这无疑是一个巨大的进步。

        (二) 面向对象的特征

        1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便充分的注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

        2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类被称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改和增加新的方法使之更适合特殊的需要。

        3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

        4. 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

        注:该总结摘自http://zhidao.baidu.com/question/354867229.html

        (三) 类

        对象的第一个特征就是抽象。所谓抽象,就是把某种对象中我们所需要的功能总结出来,让它成为该类所能产生的对象的共有的功能,这个总结出来的东西,包括属性和方法,这个就是类。

        (1) 类的定义

        格式如下:

                class (类名) {

                        修饰符  数据类型 属性名1;

                        修饰符  数据类型 属性名2;

                                                .

                                                .

                                                .

                       

                          修饰符  返回值类型 函数名1(参数列表,……){

                                          函数体1;

                                            }

                          修饰符  返回值类型 函数名1(参数列表,……){

                                          函数体2;

                                            }

                                              .

                                              .

                                              .

                      }

        修饰符最常用的有以下三种:

访问修饰符

名称

说明

备注

public

可以被任何类访问

 

protected

可以被同一包中的所有类访问

可以被所有子类访问

子类没有在同一包中也可以访问

private

只能够被当前类的方法访问

 

缺省

无访问修饰符

可以被同一包中的所有类访问

如果子类没有在同一个包中,也不能访问

注:表格摘自 http://www.cnblogs.com/snowdrop/articles/2143194.html

        (2) 构造函数       

                     构造方法是一种特殊的方法,具有以下特点。
                     (1) 构造方法的方法名必须与类名相同。
                     (2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
                     (3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
                     (4)一个类可以定义多个,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器 ,这个构造器不执行任何代码。
                     (5)可以重载,以参数的个数,类型,或排列顺序区分。
        有了以上的东西,一个类就可以使用了。在程序中,类就可以类似数据类型的使用,使用“.”操作符,对public的类型的属性和方法使用。下面会分述其他内容:封装、继承、多态。每个内容都足够写成一本书,但是这只是一片博客,为了记录我的学习历程,和以后忘了之后回忆用的,所以,只把相应的内容,总结性的写到下一篇博客中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值