好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

56页
  • 卖家[上传人]:宝路
  • 文档编号:21106695
  • 上传时间:2017-09-16
  • 文档格式:PPT
  • 文档大小:2.08MB
  • / 56 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Java 面向对象,讲师:佟刚新浪微博:尚硅谷-佟刚,尚硅谷: 关键字函数的参数传递package语句/import语句,学习目标,类和对象理解面向对象的概念类的定义声明类、属性、方法创建、使用对象对象的生命周期匿名对象信息的封装和隐藏构造方法方法的重载this 关键字函数的参数传递package语句/import语句,理解面向对象的概念,面向过程 在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口操作的函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数 ,是一种谓语与宾语的关系 面向对象 定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作 ,如隐藏,移动,最小化等这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的 ,这是一种主语与谓语的关系面向对象的三大特征封装 (Encapsulation)继承 (Inheritance)多态 (Polymorphism),面向对象的思想概述,面向对象的编程思想力图使计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致。

      类(class)和对象(object)是面向对象方法的核心概念类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(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.”); } } //声明并创建一个Animal类的对象,将该对象命名为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:类可以被任意访问 类的正文要用{ }括起来举例: 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变量 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 +构造方法 创建一个新的对象;使用 “对象名.对象成员” 的方式访问对象成员(包括属性和方法);,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); xb.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); //4 System.out.println(xh.legs); //0 xb.legs=2; System.out.println(xb.legs); //2 System.out.println(xh.legs); //0 }},提示,类的访问机制:在一个类中的访问机制:类中的方法可以直接访问类中的成员变量有一个例外)在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员对象的产生,class Person{ int age; void shout() { System.out.println(“oh,my god! I am “ + age); }}Person p1 = new Person();执行完后的内存状态,对象的产生,当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。

      除了基本数据类型之外的都是变量类型都是引用类型,如上面的Person及前面讲过的数组对象的使用,创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的员 class TestPerson{ public static void main(String[] args) //上面程序运行的内存布局如下图 { Person p1 = new Person(); Person p2 =new Person(); p1.age = -30; p1.shout(); p2.shout(); }},对象的生命周期,匿名对象,我们也可以不定义对象的句柄,而直接调用这个对象的方法这样的对象叫做匿名对象, 如:new Person().shout(); 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象 我们经常将匿名对象作为实参传递给一个函数调用练习1,1.创建一个Person类,其定义如下:,要求:(1)创建Person类的对象,设置该对象的name、age和sex属性,调用study方法,输出字符串“studying”,调用showAge()方法显示age值,调用addAge()方法给对象的age属性值增加2岁。

      2)创建第二个对象,执行上述操作,体会同一个类的不同对象之间的关系2. 利用面向对象的编程方法,设计类Circle计算圆的面积学习目标,类和对象信息的封装和隐藏信息封装和隐藏的必要性private 关键字构造方法方法的重载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 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) (version2),public class Animal{ private int legs; //将属性legs定义为private,只能被Animal类内部访问 public void setLegs(int i){ //在这里定义方法 eat() 和 move() if (i != 0 && i != 2 && i != 4){ System.out.println("Wrong number of legs!"); return; } legs=i; } public int getLegs(){ return legs; }}public class Zoo{ public static void main(String args[]){ Animal xb=new Animal(); xb.setLegs(4); //xb.setLegs(-1000); xb.legs=-1000; //非法 System.out.println(xb.getLegs()); }},。

      点击阅读更多内容
      相关文档
      2024年统编版7年级上册道德与法治课件 3.8.2 敬畏生命.pptx 2024年统编版7年级上册道德与法治课件 1.2.2 做更好的自己.pptx 2024秋新人教PEP英语3年级上册课件 Unit 4 PartA(1) Let’s talk & Ask and answer.pptx 2024秋新人教版化学9年级上册教学课件 第5单元化学反应的定量关系 课题1 质量守恒定律.pptx 2024秋新人教版化学9年级上册教学课件 第1单元走进化学世界 课题2 化学实验与科学探究 第3课时 走进科学探究.pptx 2024秋新人教版化学9年级上册教学课件 第1单元走进化学世界 课题1 物质的变化和性质 第2课时 化学性质和物理性质.pptx 2024年统编版7年级上册道德与法治 第102课 端正人生态度 第1课时 拥有积极的人生态度教学课件.pptx 2024秋新人教版地理7年级上册教学课件 1.2.3 地球与地球仪(第3课时).pptx 2024秋新人教版化学9年级上册课件 第1单元走进化学世界 课题2 化学实验与科学探究 第3课时 走进科学探究.pptx 2024年统编版7年级上册道德与法治课件 4.11.1 探问人生目标.pptx 2024年统编版7年级上册道德与法治 3.8.2 敬畏生命 教学课件.pptx 2024秋新人教版地理7年级上册课件 1.2.3 地球与地球仪(第3课时).pptx 2024年统编版7年级上册道德与法治 3.8.1 认识生命 教学课件.pptx 2024秋新人教版化学9年级上册课件 第5单元化学反应的定量关系 课题1 质量守恒定律.pptx 2024年统编版7年级上册道德与法治 第103课 实现人生价值 第2课时 在奉献中成就精彩人生教学课件.pptx 2024秋新人教版化学9年级上册课件 第5单元化学反应的定量关系 课题2 化学方程式 第1课时 化学方程式的意义及书写.pptx 2024秋新人教版地理7年级上册教学课件 2.3 地图的选择和应用.pptx 2024年统编版7年级上册道德与法治课件 第103课 实现人生价值 第2课时 在奉献中成就精彩人生.pptx 2024秋新人教版化学9年级上册课件 第6单元 碳和碳的氧化物 课题3 2氧化碳的实验室制取.pptx 北师大版(2024)新教材七年级生物下册第四单元第10章第3节《激素调节》精品课件.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.