尚硅谷Java培训佟刚Java基础面向对象

上传人:平*** 文档编号:26764644 上传时间:2017-12-31 格式:PPT 页数:56 大小:2.08MB
返回 下载 相关 举报
尚硅谷Java培训佟刚Java基础面向对象_第1页
第1页 / 共56页
尚硅谷Java培训佟刚Java基础面向对象_第2页
第2页 / 共56页
尚硅谷Java培训佟刚Java基础面向对象_第3页
第3页 / 共56页
尚硅谷Java培训佟刚Java基础面向对象_第4页
第4页 / 共56页
尚硅谷Java培训佟刚Java基础面向对象_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《尚硅谷Java培训佟刚Java基础面向对象》由会员分享,可在线阅读,更多相关《尚硅谷Java培训佟刚Java基础面向对象(56页珍藏版)》请在金锄头文库上搜索。

1、Java 面向对象,讲师:佟刚新浪微博:尚硅谷-佟刚,尚硅谷:http:/ 关键字函数的参数传递package语句/import语句,学习目标,类和对象理解面向对象的概念类的定义声明类、属性、方法创建、使用对象对象的生命周期匿名对象信息的封装和隐藏构造方法方法的重载this 关键字函数的参数传递package语句/import语句,理解面向对象的概念,面向过程 在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口操作的函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数 ,是一种谓语与

2、宾语的关系 。面向对象 定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作 ,如隐藏,移动,最小化等。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的 ,这是一种主语与谓语的关系。面向对象的三大特征封装 (Encapsulation)继承 (Inheritance)多态 (Polymorphism),面向对象的思想概述,面向对象的编程思想力图使计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致。 类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定

3、义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。,如果将对象比作汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。,面向对象的思想概述,数据(属性),方法,类,new Animal(),new Animal(),类和对象举例,/定义一个类public class Animal public int legs; public void eat() System.out.println(“Eating.”); public void move() System.out.println(“Moving.”); /声明并创建一个Anima

4、l类的对象,将该对象命名为xb Animal xb = new Animal(); /调用对象xb中的方法 xb.eat();,类的定义,public class Animal public int legs; public void eat() System.out.println(“Eating.”); public void move() System.out.println(“Moving.”); legs是类的属性 ,也叫类 成员 变量 。eat,move是方法也叫类的 成员 函数。,声明类,语法格式: class 说明:修饰符public:类可以被任意访问类的正文要用 括起来举例:

5、public class Person private int age ; /声明私有变量 age public void showAge(int i) /声明方法showAge age = i; ,声明属性,语法格式: 类型 =初值 ; 说明:修饰符 private: 该属性只能由该类的方法访问。修饰符 public: 该属性可以被该类以外的方法访问。类型:任何基本类型,如int、boolean或任何类。举例:public class Person private int age; /声明private变量 age public String name = “Lila”; /声明public

6、变量 name,属性有时也称为:数据成员(数据),成员变量(变量),声明方法,语法格式: () 说明: 修饰符:public,private,protected 等。返回类型:return语句传递返回值。没有返回值:void。举例:public class Person private int age; public int getAge() return age; /声明方法getAge public void setAge(int i) /声明方法setAge age = i; /将参数i的值赋给类的成员变量age ,方法有时也称为:成员函数(函数),对象的创建和使用,使用 new +构造

7、方法 创建一个新的对象;使用 “对象名.对象成员” 的方式访问对象成员(包括属性和方法);,public class Animal public int legs; public void eat() System.out.println(“Eating.”); public viod move() System.out.println(“Move.”); ,举例: public class Zoo public static void main(String args)Animal xb=new Animal();xb.legs=4;System.out.println(xb.legs);x

8、b.eat();xb.move(); ,对象的创建和使用,如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰。,举例: public class Zoo public static void main(String args)Animal xb=new Animal();Animal xh=new Animal();xb.legs=4;xh.legs=0;System.out.println(xb.legs); /4System.out.println(xh.legs); /0xb.legs=2;System.out.println(xb.legs); /

9、2System.out.println(xh.legs); /0 ,提示,类的访问机制:在一个类中的访问机制:类中的方法可以直接访问类中的成员变量。(有一个例外)在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。,对象的产生,class Personint age;void shout()System.out.println(“oh,my god! I am “ + age);Person p1 = new Person();执行完后的内存状态,对象的产生,当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的都是变量类型都是引用类型,如

10、上面的Person及前面讲过的数组。,对象的使用,创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的员 class TestPersonpublic static void main(String args) /上面程序运行的内存布局如下图 Person p1 = new Person();Person p2 =new Person();p1.age = -30;p1.shout();p2.shout();,对象的生命周期,匿名对象,我们也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象, 如:new Person().shout(); 如果对一

11、个对象只需要进行一次方法调用,那么就可以使用匿名对象。 我们经常将匿名对象作为实参传递给一个函数调用。,练习1,1.创建一个Person类,其定义如下:,要求:(1)创建Person类的对象,设置该对象的name、age和sex属性,调用study方法,输出字符串“studying”,调用showAge()方法显示age值,调用addAge()方法给对象的age属性值增加2岁。(2)创建第二个对象,执行上述操作,体会同一个类的不同对象之间的关系。,2. 利用面向对象的编程方法,设计类Circle计算圆的面积。,学习目标,类和对象信息的封装和隐藏信息封装和隐藏的必要性private 关键字构造方

12、法方法的重载this 关键字函数的参数传递package语句/import语句,信息的封装和隐藏(1),使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。(version1)public class Animal public int legs; public void eat()System.out.println(“Eating.”); public void move()System.out.println(“Moving.”); public class Zoo public static void main(String args) Animal

13、 xb=new Animal(); xb.legs=4; System.out.println(xb.legs); xb.eat();xb.move(); ,问题:xb.legs=-1000;,应该将legs属性保护起来,防止乱用。保护的方式:信息隐藏,信息的封装和隐藏(2),Java中通过将数据声明为私有的(private),再提供公开的(public)方法:getXXX和setXXX实现对该属性的操作,以实现下述目的:隐藏一个类的实现细节;使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;便于修改,增强代码的可维护性;,信息的封装和隐藏(3) (ve

14、rsion2),public class Animalprivate int legs; /将属性legs定义为private,只能被Animal类内部访问public void setLegs(int i) /在这里定义方法 eat() 和 move() if (i != 0 ,1.创建程序,在其中定义两个类,Person和 TestPerson类的定义如下。用setAge()设置人的合法年龄(0130),用getAge()返回人的年龄。在Test类中实例化Person类的对象b,调用setAge()和getAge()方法,体会Java的封装性。,练习2,学习目标,类和对象信息的封装和隐藏构造方法构造器的定义、作用分析对象创建过程内存状态的变化方法的重载this 关键字函数的参数传递package语句/import语句,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号