第十一章类和对象什么是类,什么是对象举例说明什么是类,什么是对象?一句话:万物皆对象类的概念:类是具有相同属性和服务的一组对象的集合。1.为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个部分。2.在面向对象的编程语言中,类是一个独立的程序单位,应该有一个类名并包括属性说明和服务说明两个主要部分。对象的概念:对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。1.一个对象由一组属性和对这组属性进行操作的一组服务组成。2.从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用; 3.它是一组属性和有权对这些属性进行操作的一组服务的封装体。 4.客观世界是由对象和对象之间的联系组成的。例子:比如水果摊进了一批水果(就好比是类,所有果类的总称);然后就去问卖家有哪些新鲜的水果;店家说有苹果、梨、桃等等(这里的苹果、梨、桃就是对象);人类(黑人、白人、黄种人) 黑人类:一个黑人、n个黑人白人类:一个白人、n个白人狗类(京巴、腊肠、富贵、哈士奇、贵宾犬、秋田犬、吉娃娃、柴犬等等)猫类(布偶猫、波斯猫、巴厘猫、狸花猫、挪威深林猫等等)猫类是不是所有猫的总称,而具体的品种就是对象话题:世界上最贵的猫:挪威深林猫也就是说对象是类的具体表达;而类则是对象的抽象表达。OOP思想(理解)OO(Object Oriented,面向对象)是当前计算机界关心的重点,面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。OOP(Object(对象) Oriented(面向的) Programming(编程),面向对象程序设计)三大思想(继承、封装、多态)类和对象的关系是什么类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性( 属性 ) 和相同行为 ( 方法 ) 的对象。类是对象的抽象,对象是类的实例对象由什么组成对象由什么组成:由一组属性和方法组成例子:(使用周围的物体做案例)汽车的案例:属性:品牌:法拉利型号:F360 Spider颜色:黄色价格:380万元方法:发动停止加速 狗的案例:属性:颜色:白色方法:叫跑吃如何定义一个类语法:publicclass类名{ // 定义的属性部分属性1的类型属性名称; 属性2的类型属性名称;属性n的类型属性名称; //定义的方法部分方法1; 方法2 方法n; }定义一个类的步骤:定义类名编写类的属性编写类的方法案例:Pubicclass Dog{}如何定义一个方法语法: 其中:1、访问修饰符:方法允许被访问的权限范围,可以是 public、protected、private 甚至可以省略,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴2、返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值3、方法名:定义的方法的名字,必须使用合法的标识符4、参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开根据方法是否带参、是否带返回值,可将方法分为四类:Ø 无参无返回值方法Ø 无参带返回值方法Ø 带参无返回值方法Ø 带参带返回值方法属性:颜色:白色方法:叫跑吃案例:Pubicclass Dog{ // 属性 String color = “白色”;// 方法Public void call(){ System.out.println(“这只狗会叫”);}Public void Run(){ System.out.println(“这只狗会跑”);}Publicvoid eat(){ System.out.println(“这只狗会吃”);}}如何创建一个类的对象使用new关键字:是最常见创建对象的方式语法:类名对象名= new 类名(); Student stu = new Student();前提:要有Student这个类 Student类中有姓名、性别、年龄三个属性一个说的方法show()(案例实现)使用类的属性和方法:使用”.”操作符对象名.属性 or对象名.方法名什么是封装(理解)封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。封装的好处: 1、良好的封装能够减少耦合。 2、类内部的结构可以自由修改。 3、可以对成员进行更精确的控制。 4、隐藏信息,实现细节。