欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    面向对象基础.ppt

    • 资源ID:5454044       资源大小:726.54KB        全文页数:36页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象基础.ppt

    面向对象基础,第 三 章(上),Java中的数据类型分为:原始数据类型和引用数据类型;在数据类型转换中,由低类型转至高类型,将会自动(隐式)类型转换,而从高类型转至低类型,则必须强制(显式)类型转换;Java中的数组是引用数据类型,必须由new关键字在堆中分配内存;Java虚拟机的垃圾回收机制将自动释放不再使用的内存;使用命令行参数接收来自用户的输入。,回顾,本章相关词汇(蓝色为关键字),本章目标,了解什么是面向对象面向对象的基本概念类对象封装继承多态如何定义类,如何创建对象成员运算符访问控制权限:public和private构造方法,什么是面向对象?,Object Oriendted Programming,对象,以为导向的,程序设计,面向对象就是使用对象进行程序设计,简写成OOP。,面向对象的编程语言,如今,面向对象的编程思想已经成为主流;面向对象的编程语言正大行其道,最具代表性的有:C+JavaC#连数据库也开始面向对象了,如Oracle。,面向对象的编程思想,OOP,旨在计算机程序中模拟现实世界中的概念,在计算机程序中用相似的实体模拟现实世界中的实体,在OOP中,现实世界的所有事物全都被视为对象,设计和实现软件系统的方法,C语言的编程方式,C语言是结构化的编程语言(Structured Programming,简作SP);强调精巧的数据结构和优越的算法,关注程序的运行效率;不适合于大规模的程序开发;程序模块之间协调性差,程序的重用性、安全性、健壮性和可维护性都存在较大的缺陷。,SP和OOP对比,面向对象的三大原则,封 装,继 承,多 态,对象,对象是面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为;对象其实就是“数据”和“函数”的封装体,其中:数据表示自身的状态,也称作“属性”或“成员数据”;函数表示自身的功能,也称作“方法”或“成员函数”。,状态,行为,类,人们为了更好地认识世界,将现实生活中的事物(对象)划分成类;同一类中的事物总是具有一些共性;类以共同的特性和行为定义实体;类是具有相同属性和和行为的一组对象的集合。,属性,事物的特性在类中用变量表示;每个对象的每个属性都拥有其特定的值;属性名称由类的所有对象共享;对象或实体拥有的特征在类中表示时称为属性。,方法,事物的行为和动作在类中用函数表示;每个对象都有相同的动作和行为;对象执行的操作在类中表示为方法。,类和对象的区别,类是用来描述实体的“模板”或“原型”;对象是实际的实体,每一个对象都是类的一个具体实例;类用来定义对象所有的属性和方法,同一类的所有对象都拥有相同的特征和操作;可以将类理解成生产产品的模具,而对象则是根据此模具生产的一个个产品。,类与结构,最简单的理解方式:,区别在于:结构体一般只有数据(属性)而没有函数(方法)。,封装,将某些东西包装在一起,然后以新的完整形式呈现出来;隐藏属性、方法或实现细节的处理方式称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题。,可以公开,无所谓,不可以公开,继承,继承就是重用现有的类来生成新类的一种特征;通俗地讲就是从现有的类(即父类或基类)创建新类(子类或派生类)的过程;现实生活中,继承可以达到财产重用的目的,而在Java中,继承可以使代码重用。,多态,多态是指同一函数在不同的类中有不同的实现;多态的好处就是使类更灵活,更便于扩充。,抽象,把相同的或相似的对象归为一类的这个过程就是抽象,所以,抽象就是分析问题的方法;抽象的基本原则:只关心主要问题,而不关心次要问题;只关心主要矛盾,而不关心次要矛盾;只关心相同的东西,而不关心不同的东西;只关心问题是什么,能够完成什么,而不关心怎样去完成。抽象的过程其实就是面向对象编程的核心思想。,在Java中定义类,/*定义学生类*/class Student String name;/姓名 int age;/年龄 float weight;/体重/*吃饭的方法*/void dining()System.out.println(吃饱了.);weight+;/*走路的方法*/void walk()System.out.println(走累了.);weight-;,定义类的语法,习惯上,类名的首字母大写,如:Student,在Java中创建对象,/*Test类,用来容纳main方法*/public class Test/*main方法,程序入口*/public static void main(String args)Student std;/声明Student类型的引用 std=new Student();/创建Student类型的对象 std.name=张三;/为姓名赋值 std.age=18;/为年龄赋值 std.weight=50;/为体重赋值 std.dining();/调用成员方法 System.out.println(std.weight);std.walk();System.out.println(std.weight);,创建对象的语法,和数组相似,对象也是引用数据类型,只能使用new运算符从堆中分配内存;创建对象的一般语法:类名 引用名=new 类名();使用已经定义好的类,创建该类对象的过程称为“实例化”。,注意:这里要有括号,成员运算符.,在C语言中,必须要先声明结构体变量,才可以访问结构体中的成员;同样的,只有先实例化类的对象,才可以访问到类中的成员(属性和方法);使用成员运算符(.)来访问成员属性或成员方法;一般语法是:对象名.成员名如:std.age=18;/为成员属性赋值 std.dining();/调用成员方法,访问权限:public和private,C语言中结构体的成员可以从任何地方进行访问,这将给数据的安全留下极大的隐患;为了避免从类外部直接访问类成员而造成的数据损坏,Java对类成员的访问制定了约束;关键字public和private是访问修饰符,用来说明某个成员是否可以从类外部进行访问;public修饰的成员可以在任何地方进行访问,不受任何约束;private修饰的成员只能够被本类中的其它成员访问,而不能从类的外部进行访问。,访问权限,无法从类的外部访问私有成员;其它类的私有成员对于当前类也是隐藏的。,访问权限示例,class Student private String name;/姓名,私有的,不可以从类外部直接访问 private int age;/年龄,私有的,不可以从类外部直接访问 private float weight;/体重,私有的,不可以从类外部直接访问/吃饭的方法,公有的,可以从任何地方访问 public void dining()System.out.println(吃饱了.);weight+;/dining方法是类内部成员,可以直接访问本类私有成员/走路的方法,公有的,可以从任何地方访问 public void walk()System.out.println(走累了.);weight-;/walk方法是类内部成员,可以直接访问本类私有成员 public class Test public static void main(String args)Student std=new Student();/实例化一个Student对象 std.age=18;/试图从类外部访问私有成员,将会报出一个错误 std.dining();/允许访问公有成员,访问权限(续),加上访问修饰符有时候可能会给操作数据带来不便,但可以在很大程度上保证数据的安全;一般地,我们会将成员属性声明为private,而将成员方法声明为public,但这样做并不是绝对的;有时候,类外部可能要操作到某些私有数据成员,那么就可以增加一个公有的方法,再由这个方法来操作私有数据,避免因类外部的误操作而造成的数据损坏;因为main方法要由类外部的虚拟机来调用,所以main方法必须声明成public。,修改Student类,class Student/定义学生类 private String name;/姓名,私有 private int age;/年龄,私有 private float weight;/体重,私有 public void setName(String n)/为姓名赋值的方法,公有 name=n;public void setAge(int a)/为年龄赋值的方法,公有 age=a;public void setWeight(float w)/为体重赋值的方法,公有 weight=w;public void display()/将所有信息打印出来的方法,公有 System.out.println(姓名:+name+,年龄:+age+,体重:+weight);public void dining()/吃饭的方法,公有,代码略 public void walk()/走路的方法,公有,代码略public class Test public static void main(String args)Student std=new Student();/实例化学生类对象 std.setName(张三);/为姓名赋值 std.setAge(18);/为年龄赋值 std.setWeight(55);/为体重赋值 std.dining();/调用吃饭的方法 std.display();/将信息打印出来,对象初始化,在上例中,只能逐个地为数据成员赋值,如果想在对象实例化的同时就初始化成员属性,就使用到了构造方法;构造方法是特殊的成员方法,它与类同名,在对象实例化时由虚拟机自动调用;请注意:构造方法没有返回值类型,也不能有返回值。,构造方法示例,/*定义ConstructorDemo类,对构造方法进行测试*/class ConstructorDemo/*构造方法,方法名与类名完全一致 无需指定返回值类型,也不能有返回值*/public ConstructorDemo()System.out.println(这是构造方法);/*Test类,用来容纳main方法一般将包含有main方法的类声明为public*/public class Test/*main方法,程序入口*/public static void main(String args)/*实例化ConstructorDemo类的对象*/ConstructorDemo cd=new ConstructorDemo();,构造方法,正是由于在实例化对象的同时会自动调用构造方法,所以构造方法一般用来给数据成员分配资源或初始化数据成员;构造方法的一般形式:访问权限 类名(形参列表)方法体 因为是由虚拟机来调用构造方法,所以构造方法一般应定义成public。,为Student类添加构造方法,class Student/定义学生类 private String name;/姓名,私有 private int age;/年龄,私有 private float weight;/体重,私有/构造方法,根据传递进来的参数,为数据成员赋值 public Student(String n,int a,float w)/分别为每个数据成员赋初始值 name=n;age=a;weight=w;public void setName(String n)/为姓名赋值的方法,公有,代码略 public void setAge(int a)/为年龄赋值的方法,公有,代码略 public void setWeight(float w)/为体重赋值的方法,公有,代码略 public void display()/将所有信息打印出来的方法,公有,代码略 public void dining()/吃饭的方法,公有,代码略 public void walk()/走路的方法,公有,代码略public class Test public static void main(String args)/利用构造方法,为数据成员指定初始值 Student std=new Student(张三,18,55);std.display();/将信息打印出来,构造方法(续),每个对象在生成时都必须执行构造方法,而且只能执行一次;如果构造方法调用失败,那么对象也无法创建;不可以显式地直接调用构造方法;在没有定义构造方法的情况下,类会自动产生一个无参数的默认构造方法,这个默认的构造方法什么都不做;一旦显式地定义了构造方法,默认构造方法自动消失。,总结,对象由状态(属性)和行为(方法)组成;类是具有相同属性和方法的对象的集合;封装可以隐藏对象实现的具体细节;必须先实例化类的对象,才可以访问到其中的成员;成员运算符用于访问对象的成员;成员可以定义为公有,也可以定义为私有;构造方法一般用来初始化对象中的数据成员;如果不定义构造方法,将有默认的构造方法,一旦定义,默认的构造方法自动消失。,

    注意事项

    本文(面向对象基础.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开