第6章---类和对象.ppt 50页

第六章 类和对象 6.1 类和对象概述 6.2 类的封装 6.1 类和对象概述 在面向对象技巧中,将客不美观世界中的一个事物作为一个对象看待。每个事物都有自己的属性和行动。 从依次设计的
admin

  第六章 类和对象 6.1 类和对象概述 6.2 类的封装 6.1 类和对象概述 在面向对象技巧中,将客不美观世界中的一个事物作为一个对象看待。每个事物都有自己的属性和行动。 从依次设计的角度,事物的属性可以用变量刻画,行动用方法刻画。 类只定义属性和行动的模板,对象是类的实例,对象与类的关系就像变量和数据类型的关系一样。 对象与类 复杂地说: 对象是表现抱负世界中某个具体的事物; 类是对对象的笼统刻画。 [润饰符] class 类名 [extends 父类名] [implements 接口名列表] 类成员变量声明; 类方法声明; Java实例—— 定义类 例:定义一个表现二维平面上点的类 class Point private int x,y; public void setPoint int a,int b x a; y b; public int getX return x; public int getY return y; public String toString return "["+x+","+y+"]"; 创立对象 [润饰符] 类名 对象名 new 类名 实参列表 ; 或 [润饰符] 类名 对象名; 对象名 new 类名 实参列表 ; Point thePoint; 留心:类属于复合数据类型,因此,在声明对象时,系统并没有为对象分派空间,用户需求应用new完成分派空间的义务。 thePoint new Point ; 对象的援用 援用成员变量 对象名.成员变量名 援用方法 对象名.方法名 参数列表 Java实例——对象应用 例:定义一个表现圆形的类,可以计算圆面积和周长。 class Circle1 float r; final double PI 3.14159; public double area //计算面积 return PI*r*r; public void setR float x //设置半径 r x; public double perimeter //计算周长 return 2*PI*r; public static void main String args[] double x,y; Circle1 cir new Circle1 ; //创立Circle1类的对象cir cir.setR 12.35f ; //援用cir对象的setR 方法 x cir.area ; //援用cir对象的area 方法 y cir.perimeter ; //援用cir对象的perimeter 方法 System.out.println "圆面积 "+x+"\n圆周长 "+y ; 依次运转结果以下: 圆面积 479.1座机德律风号码011 圆周长 77.座机德律风号码684296 结构方法的特色 结构方法名与类名相反; 结构方法没有前去值; 结构方法的主要感化是对对象初始化。 结构方法不能显式地直接调用; 一个类中可以定义多个结构方法,但各结构方法的参数表不能相反,即各结构方法的参数个数分歧或参数类型分歧。 Java实例——用结构方法初始化成员变量 class Triangle int x,y,z; public Triangle int i,int j,int k //声明结构方法 x i; y j; z k; public static boolean judge Triangle m if Math.sqrt m.x*m.x+ m.y*m.y Math.sqrt m.z*m.z //援用Math类库的sqrt 方法 return true; else return false; public static void main String args[] Triangle t1; //声明Triangle类对象t1 t1 new Triangle 3,4,5 ; //实例化对象t1,调用结构方法对其停止初始化 if judge t1 //调用judge 方法,辨别t1的成员变量是 //否能构成直角三角型的3个边长 System.out.println "这是一个直角三角形" ; else System.out.println "这不是一个直角三角形" ; Java实例—— 定义结构方法 class Student String name; String address; int grade; Student String x1,String x2,String x3,int y //定义结构方法 name x1; address x2; grade x3; public st