第3章面向对象PPT讲稿.ppt
《第3章面向对象PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第3章面向对象PPT讲稿.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章面向对象第1页,共27页,编辑于2022年,星期一2学习目标掌握面向对象概念理解类和对象之间的关系,熟练掌握类的设计方法、对象的使用方法,熟练运用实例成员和类成员编写程序了解包的基本使用方法理解Java中继承的概念掌握抽象类、接口的使理解Java中多态的概念熟练运用面向对象解决问题第2页,共27页,编辑于2022年,星期一3学习重点类和对象继承抽象类和接口多态的实现第3页,共27页,编辑于2022年,星期一4一、类和对象类类是java中的一种重要的复合数据类型,是组成java程序的基本要素声明类public|protected|default|privateabstract|finalc
2、lassextendsimplements/类主体不同的修饰符具有不同的含义访问控制修饰符public|protected|default|privateabstract修饰符final修饰符第4页,共27页,编辑于2022年,星期一5一、类和对象类成员的访问控制访问控制修饰符同一类中同一包中不同包中的子类不同包中的非子类publicYesYesYesYesprotectedYesYesYesNodefaultYesYesNoNoprivateYesNoNoNo类型说明final最终类或最终成员,修饰类时表示此类不能有子类,修饰变量时表明此变量是一个常量,修饰方法时表明此方法不允许被覆盖abs
3、tract抽象类或抽象方法,修饰类时表明此类不能定义对象,修饰方法时表明此方法必须被覆盖static类成员或静态成员,表明此成员属于类,而不属于该类的某一具体对象第5页,共27页,编辑于2022年,星期一6一、类和对象类的成员变量类的成员变量作用域是整个类,类中的所有方法均可访问成员变量类变量和实例变量被声明为static的成员变量在没有创建任何类实例的情况下,也可以通过类名被访问。类变量属于一个类而被所有类的实例所共享。没有被声明为static属性的成员变量被称为实例变量和实例方法。实例变量和实例方法必须通过类的实例被访问,需要先创建对象。类的成员变量声明时如果没有初始化,系统会自动为其进行
4、初始化。对于数值类型,会自动初始化成0字符会初始化成对象引用类型会初始化成null第6页,共27页,编辑于2022年,星期一7一、类和对象类的成员方法包含声明和方法体两部分成员方法的返回值return表达式;或:return(表达式);形式参数与实际参数方法名(实参列表);在调用成员方法时应注意:对于无参方法来说,是没有实际参数列表的,但方法名后的括弧不能省略对于带参数的成员方法来说,实参的个数、顺序以及它们的数据类型必须与形式参数的个数、顺序以及它们的数据类型保持一致,各个实参间用逗号分隔。实参名与形参名可以相同也可以不同方法体中的局部变量生存期与作用域是在本方法内第7页,共27页,编辑于2
5、022年,星期一8一、类和对象类的成员方法this关键字可以调用成员变量和成员方法publicvoidsetName(Stringname)/定义setName()方法this.name=name;/将参数值赋给类中的成员变量第8页,共27页,编辑于2022年,星期一9一、类和对象方法重载同一个类中的两个或两个以上的方法可以有同一个名字,只要它们的参数声明不同就是重载当需要调用这些方法中的一种方法时,根据提供的参数的类型选择合适的一种方法构造方法对象的创建通过构造方法完成的,当类实例化一个对象时,类会自动调用构造方法,构造方法的特点如下:构造方法没有返回值构造方法的名称要与本类的类名相同构造方
6、法可以重载第9页,共27页,编辑于2022年,星期一10一、类和对象对象创建对象创建对象包括对象声明和对象初始化两个部分对象声明类名对象名=new类名(参数列表);Circlemycircle=newCircle();创建对象时,也可以将对象声明和对象初始化分开,先做声明,后进行初始化。Circlemycircle;/声明mycircle对象mycircle=newCircle();/对mycircle初始化访问对象的属性和行为访问对象的属性和行为对象名成员变量名对象名成员变量名对象名成员方法名(对象名成员方法名(参数列表参数列表)第10页,共27页,编辑于2022年,星期一11一、类和对象类
7、的组织包的概念包是Java提供的文件组织方式Java规定,同一个包中的文件名必须唯一,不同包中的文件名可以相同创建包package包名;一个多级包的声明:package包名.子包名.子子包名;import语句importpkg1.pkg2.(classname|*);第11页,共27页,编辑于2022年,星期一12二、继承继承的概念继承的概念一个父类可以同时拥有多个子类,这时这个父类实际上是所有子类的公共域和公共方法的集合,而每一子类则是父类的特殊化,是在父类的基础之上对公共域和方法在功能、内涵方面的扩展和延伸。使用继承具有以下的好处降低了代码编写中的冗余度更好地实现了代码复用的功能,从而提高
8、了程序编写的效率使得程序在维护时就变得非常的方便第12页,共27页,编辑于2022年,星期一13二、继承继承实现继承实现类的实现主要有以下几个步骤:确定父类定义子类实现子类的功能类修饰符class子类名extends父类名新增成员变量;新增或重写成员方法;属性和方法的继承新定义的子类可以从父类那里自动继承所有非private的属性和方法作为自己的成员第13页,共27页,编辑于2022年,星期一14二、继承父类对象与子类对象的转换父类对象与子类对象的转换注意如下原则:子类对象可以被视为是其父类的一个对象。父类对象不能被当作是其某一个子类的对象。如果一个方法的形式参数定义的是父类对象,那么调用这个
9、方法时,可以使用子类对象作为实际参数。如果父类对象引用指向的实际是一个子类对象(在以前的某个时候根据这一点把子类对象的引用赋值给这个父类对象的引用),那么这个父类对象的引用可以用强制类型转换转化成子类对象的引用。第14页,共27页,编辑于2022年,星期一15二、继承构造函数的继承遵循下列的原则:子类无条件地继承父类的不含参数的构造函数;如果子类自己没有构造函数,则它将继承父类的无参数构造函数作为自己的构造函数;如果子类自己定义了构造函数,则在创建新对象时,它将先执行继承父类的无参数构造函数,然后再执行自己的构造函数。对于父类的含参数构造函数,子类可以通过在自己构造函数中使用“super”关键
10、字来调用它,但这个调用语句必须是子类构造函数的第一个可执行语句。第15页,共27页,编辑于2022年,星期一16二、继承多态静态多态通过重载实现动态多态通过方法重写实现第16页,共27页,编辑于2022年,星期一17二、继承类成员的覆盖子类对继承自父类的类成员重新进行定义,就称为覆盖,它是一种很重要的多态形式。覆盖的用法子类中所定义的格式必须和父类中的一样,否则父类的类成员就没有被覆盖。使用被覆盖的成员域变量的隐藏对于域变量的隐藏来说,父类定义的域变量在子类对象实例化时仍然分配一个存储空间方法的覆盖子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明,即应与父类有完全相同的方法名、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 PPT 讲稿
限制150内