`

黑马程序员--java基础复习--面向对象----一切皆为类

阅读更多

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ---------------------

  面向对象是一种程序的设计方法,其基本思想是使用对象、类、继承、封装、抽象、消息等基本概念来进行程序设计。

  面向对象从现实世界中客观存在的事物(即对象)出发来设计软件系统,并在设计时尽可能的运用人类的思维方式。强调直接以问题范围中的事物为中心来思考问题、认识问题,并根据这些问题以及事物的本质贴点,来抽象的表示为系统中的对象,作为系统中的基本构成单位。

  比如这个世界上有人,人可以有衣食住行等动作,衣食住行又关系到其他一些东西:衣服、大米、房屋、汽车等,就可以在人这个事物身上构造与衣服、大米等关联的方法,是吃饭呢,还是穿衣服。而人自己本身又有年龄,姓名等属性,在房屋的属性里边又可以关联人这给类,以表示房屋属于哪个人,这个人叫什么。大量的这些简单的事物与事物之间的关系就构成了复杂的世界。

  面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切都是对象,对象是类的实例;实例关系和继承关系是对象之间的静态关系,消息传递是对象之间动态联系的唯一方式,消息的载体就是方法。

  面向对象的编程语言4个主要的特征:封装、抽象、继承、多态等

   1、封装

      面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“模块”中,也就是一个类中,属性用成员变量定义,行为用方法定义,方法可以直接访问对象中的属性。只要记住将所有成员变量定义成私有的,然后想要访问这些成员变量就只能是类内部的方法,这样就实现了封装,有两个经典的例子:

    画圆和刹火车

    画圆需要的是圆心和半径,圆心和半径属于圆的属性,如果都是私有的话,就只有圆内部方法可以调用圆心和半径,所以画圆的方法应该定义给圆这个类,而人画圆只是人给圆传递了一个画圆的命令。

   刹火车一样,刹车用到的是制动力,制动力是属于火车的属性,刹车就是火车的行为了,人只是传递一个刹车的信息

  2、抽象

    抽象就是找出一些事物的共性,然后将这些事物定义为一个具有这些共性的类,忽略掉每个事物本身的特性。比方说人这个事物,都有年龄、姓名、身高、吃饭等属性

   那就定义一个人的类

  

class Person{
   String name;
   int age;
   double heigh;

   public void eat(){
	吃点什么;
   }
}

 当只用到这些属性时,就不用考虑人又黑白男女之分了。这就是抽象,忽略掉特性,抽取共性。

  3、继承

    还用上面人来说明,当我们需要对男人来进行“操作”时,我们必须要描述男人是个人什么东西,有些什么方法,毫无疑问,男人也是人,也有姓名、年龄、身高等属性,所以我们不需要重新定义男人这个类,而是直接继承人这个类,并且另外定义男人的一些特有属性和行为就可以了,这就叫做继承。

  4、多态

    继续拿人说明,多态的基础是继承,男人继承了人,女人也继承了人,男人的吃饭方法和女人的吃饭方法可能是不一样的比如

class ManPerson extends Person{
	public void eat(){
		胡吃海喝;
	}
}

class WomanPerson extends Person{
	public void eat(){
		细吞慢咽;
	}
}

   男人女人都继承了来自人的吃的这个方法,然后又下面一段代码

    Person p1 = new ManPerson();

    p1.eat();

    Person p2 = new WomanPerson;

    p2.eat();

    这段断码第一个人是吃点什么还是胡吃海喝?答案是胡吃海喝,第二个人就是细吞慢咽了这就是多态的作用了,通过父类引用可以调用子类方法。

 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

分享到:
评论

相关推荐

    黑马程序员java面试宝典 完整版PDF.rar

    《黑马程序员Java面试宝典》是一本专门为Java开发者准备的面试指南,包含了广泛而深入的Java技术知识,以及面试过程中可能会遇到的各种问题。这本书的完整版PDF提供了丰富的学习材料,帮助求职者提升自己的技术水平...

    《Java基础入门(第3版)》(Java):课后答案-docx文档

    第一章介绍了Java的基础概念,如对象、面向对象、javac编译器、JVM以及JRE的作用。第二章讲解了Java编程基础,包括关键字(如"class")、注释类型(单行、多行和文档注释)、数据类型(如基本数据类型和引用数据类型...

    Java基础教程(第3版)_ppt.rar

    1. **类与对象**:Java是一种面向对象的编程语言,"第4章_类与对象.ppt"可能讲解了如何定义类,创建对象,以及封装、继承和多态等面向对象的基本概念。 2. **子类与继承**:"第5章_子类与继承.ppt"则深入探讨了类...

    黑马程序员入学Java知识

    ### 黑马程序员入学Java知识 #### Java概述与基础知识 1. **何为编程?** - 编程是通过特定的计算机语言来编写指令,让计算机执行一系列任务的过程。 2. **Java语言概述,历史、特点** - **概述**:Java是一种...

    黑马程序员面试宝典(java).7z

    1. **Java基础**:这是所有Java面试的基础,包括变量、数据类型、运算符、流程控制语句(如if、for、while)、类与对象、封装、继承、多态等基本概念。此外,还会涉及到异常处理、接口、内部类和匿名类等内容。 2. ...

    黑马程序员入学测试题

    4. **面向对象编程**:对于Java或C++等面向对象的语言,测试可能包括类与对象的概念、封装、继承、多态等特性。 5. **异常处理**:了解如何在代码中捕获和处理异常,以确保程序的健壮性。 6. **文件操作**:掌握...

    黑马程序员_Java基础辅导班教程课件[第01期]第4天

    在"黑马程序员_Java基础辅导班教程课件[第01期]第4天"中,我们可以推测这是针对初学者的Java编程课程,旨在帮助学员掌握Java的基础知识。 在课程的第4天,可能讲解了以下核心概念: 1. **类(Class)**:`Demo.class...

    黑马程序员JAVA面试宝典2018年5月最新版

    《黑马程序员JAVA面试宝典2018年5月最新版》是一本专门为Java开发者准备的面试指南,它集合了2018年5月时最新的面试知识点和业界趋势,旨在帮助Java程序员在求职过程中更好地应对各类技术面试。这本书可能涵盖了Java...

    黑马程序员_Java基础辅导班教程课件[第01期]第12天

    黑马程序员提供的"Java基础辅导班教程课件[第01期]第12天"旨在帮助学员深入理解Java语言的核心概念,进一步提升编程技能。在这个阶段的学习中,学员将接触到Java的高级特性以及实际应用。 首先,"day12"这个目录很...

    2018-2019年黑马最新版Java程序员面试宝典+题库pdf

    2. **面向对象编程**:深入理解类和对象的概念,如何设计类,以及面向对象的三大特性——封装、继承和多态在实际编程中的应用。 3. **异常处理**:理解Java异常的分类,如何捕获和处理异常,以及finally块的作用。 ...

    java黑马基础资料+本人自己整理笔记+哔哩哔哩+java入行者 和 复习者可以观看第一次发作品 请多多提建议

    本文将为你提供一份详尽的Java基础知识概述,适合初学者和有经验的开发者作为复习材料。 1. Java基础语法 Java的基础语法是编程的基础,理解和掌握它至关重要。 1.1 注释 注释是程序员为了方便理解和维护代码而...

    传智播客-黑马32期Java视频

    【标签】"java,黑马" 标签明确了主题,"java"代表课程内容专注于Java编程,包括语法、面向对象编程、异常处理、集合框架、多线程、I/O流、网络编程等核心概念。而"黑马"则与传智播客的黑马程序员系列课程相关,意味...

    程序员复习系统全面.zip

    此外,对于面向对象编程的理解,比如封装、继承和多态,也是不容忽视的部分。 其次,数据结构和算法是程序员能力的基石。复习资料可能涵盖了数组、链表、栈、队列、树、图、哈希表等基本数据结构,以及排序、搜索、...

    java视频教程_黑马Java零基础辅导班[第二期]11天课件源码

    2. **类与对象**:Java是一种面向对象的语言,理解类的定义、对象的创建以及封装、继承和多态等OOP(面向对象编程)原则至关重要。 3. **数组与集合**:数组是存储固定数量同类型数据的容器,而集合框架(如...

    黑马java面试题总结

    首先,Java基础知识是面试中的常考项,包括但不限于语法特性(如封装、继承、多态)、面向对象编程概念、异常处理、垃圾回收机制、反射等。深入理解这些基本概念并能灵活运用是成为合格Java程序员的基础。 其次,...

    黑马入学Java知识—精华总结(下)

    通过阅读“黑马程序员入学Java知识—精华总结(下).doc”,你可以系统地复习和掌握这些知识点,为面试做好充分准备。记住,理论知识的掌握需要结合实践,通过编写代码和解决实际问题来加深理解。祝你在Java学习道路上...

    Java面试宝典2018-最全面试资料

    这份资料由黑马程序员精心编纂,集合了多家知名公司的面试题目,涵盖了广泛且深入的Java知识点。 首先,基础篇中,你需要熟悉Java语言的基础语法,包括但不限于数据类型(基本类型与引用类型)、运算符、流程控制...

    Java设计模式(图解+框架源码分析+实战)- 黑马课件

    本课程基于黑马程序员提供的课件,通过图解、框架源码分析及实战的方式,深入浅出地讲解了Java设计模式的核心知识。 在Java设计模式的学习过程中,通常会涉及到以下几个方面: 1. **单例模式**:确保一个类只有一...

    传智播客PPT

    - Java语言基础:变量、数据类型、控制结构、函数、类与对象、继承、多态。 - 异常处理:如何捕获和处理运行时错误。 - 集合框架:ArrayList、LinkedList、HashMap、HashSet等的使用。 - 输入/输出流:文件操作...

Global site tag (gtag.js) - Google Analytics