欢迎来到天天文库
浏览记录
ID:52061283
大小:866.50 KB
页数:26页
时间:2020-03-31
《JavaOO-07.面向对象基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章面向对象基础本章要点类和对象的关系构造器的特征和作用对象创建的内存模型访问权限修饰符简介this关键字面向对象编程思想面向对象编程(Object-OrientedProgrammingOOP),它比面向过程更加先进。能够大幅度的提高项目的成功率,降低后期的维护成本,提高软件的可靠性和可伸缩性。它其实也是一种新的思维方式,从一个新的角度考虑问题。以认知论为基础,使用对象的概念来理解和问题分析,然后设计和开发由对象构成的软件系统。实际上,面向对象就是人类认识客观世界的方式。比如,我们在设计一个系统时必定要分析组成该系统的对象有哪些,找出其中有相同特征的对象,利用这
2、些特征创建一个蓝图。这个蓝图就是类。它是面向对象的核心概念,它应该描述了对象的特征。注意:任何对象的特征都可以分成两个方面:一个是描述对象包含的数据特征——实例变量一个是描述对象表现的行为特征——函数/方法所以类由两部分组成:即实例变量和函数,在面向对象学中称为属性和方法。类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。说明同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的属性值都相同。类是静态的;类的存在、语义和关系在程序执行前就已经定义好了。对象是动态的;对象在程序执行时
3、可以被创建和删除类的定义类的格式:修饰符一般为public,也可以没有修饰符。注意类名的命名规范。类的成员:变量成员函数成员修饰符class类名{类的成员;}类的举例01publicclassCar{02Stringcolor;03intdoorNumber;04doubletopSpeed;0506publicvoidspeedUp(){07}08publicvoidspeedDown(){09}10publicvoidbrake(){11}12}类的举例01publicclassPerson{02Stringname;03intage;04doubleheigh
4、t;0506publicvoidsayHello(){07System.out.println("Hello");08}09}创建对象之前我们仅仅是定义一个类,它只是静态存在的类代码。然而,程序的运行不是依靠类的,而是对象。我们应该利用这些类,创建出对象,然后使用对象的属性和方法让程序运行。对象是动态的,只有代码通过虚拟机运行之后才能产生,虚拟机停止时对象则消失。而类是静态的,程序运行之前即存在了。比如:汽车类、具体的一辆汽车的区别。可见,类是个抽象的概念,对象却是具体的。类只是规定了将来要产生出来的对象应该具备哪些属性和方法,就像一个模板。由类产生的对象必定拥有类
5、中定义的属性和方法。其中,由类生成实例的过程,我们称之为“实例化”。实例化是把抽象的类转换为具体的对象(实例),相当于把人类这个抽象的概念转化为具体的某个人(张三)。对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组方法组成。说明:对象只描述客观事物本质的、与系统目标有关的特征。创建对象创建Person类的一个对象p再创建Person类对象qPersonp=newPerson();类名对象名内存分配操作符与类同名Personq=newPerson();创建对象举例01publicclassTest{02p
6、ublicstaticvoidmain(String[]args){03Personp=newPerson();04p.name="zhangsan";05p.age=33;06p.height=1.73;07p.sayHello();08Personq=newPerson();09q.name="lisi";10q.age=44;11q.height=1.74;12q.sayHello();13}14}构造器Constructor构造器,也称为构造方法、构造函数,它在类里起着至关重要的作用。有参数构造器和无参数构造器。类中特殊的方法一般情况权限为public;没有
7、返回值类型,不要写void;方法名称与类名完全一致;作用:完成对象的创建,即完成对象的实例化;不能直接调用,只能由内存分配操作符(new)来调用。构造器举例01publicclassPerson01{02Stringname;03intage;04doubleheight;0506publicPerson(Stringn,inta,doubleh){07name=n;08age=a;09height=h;10}1112publicvoidsayHello(){13System.out.println("Hello,mynameis"+name);14}}构造器续
此文档下载收益归作者所有