第六章面向对象的程序设计概念

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

public class Student6_4_1 { public static void main(String args[] ) { Student1 zhang; zhang=new Student1("张三 "," 银川北京东路12号 "," 西北二民院经
管系 ",90); zhang.collect(); Student1 wang=new Student1("王五 "," 银川文萃路331号 "," 西北
二民院计算机系 ",85); System.out.println(zhang.name+zhang.address+zhang.grade); System.out.println(wang.name+wang.address+wang.grade); System.out.println( " 总成绩是 "+wang.collect());
//创建Student类的对象
zhang.getMessage("张三 ","银川北京东路12号 ","西北二民院经管系 ");
zhang.getScore(90);
zhang.collect();
Student wang=new Student();
//创建Student类的对象
wang.getMessage("王五 ","银川文萃路331号 ","西北二民院计算机系 ");
引用成员变量的一般格式 引用成员方法的一般格式
对象名.成员变量名
对象名.方法名(参数表)
// 定义 Circle类的成员变量r和常量PI以及多种方法
//通过创建对象实例来引用这些方法 例6_2
class Circle1 {
float r;
final double PI=3.14159;
public double area() //定义计算圆面积的方法
数据成员 成员方法
类名的第一个字母要大写。类体 要用花括号{ }括起来。
}
创建类对象一般形式
类名 对象变量=new 类名(参数1,参数2,…);
或者
类名 对象变量;
对象变量=new 类名(参数1,参数2,…);
// 根据几何中的坐标位置定义一个Point类 例6_1 class Point1 { 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+"]";} } public class Point6_1{ public static void main(String args[] ) { int a1=4; int b1=5; Point1 abc=new Point1(); abc.setPoint(a1,b1); System.out.println("x="+abc.getx()); System.out.println("y="+abc.gety()); System.out.println( abc.toString()); } }
public static long collect() //定义类的方法 {
sum+=score; return sum; } Student1 (String x1,String x2,String x3,int y) { name=x1; address=x2; grade=x3; score=y; } }
{
name=x1;
address=x2;
grade=x3;
}
Baidu Nhomakorabea
public void getScore(int y)
{ score=y; }
}
public class Student6_4
{
public static void main(String args[] )
{
Student zhang=new Student();
}
}
对象的初始化和构造方法
构造方法是一个类方法中方法名与类名相同的类 方法,它的作用是当使用new关键字创建一个对象时, 自动调用并对新建对象进行初始化操作。
构造方法的特点 1、构造方法与类名相同,第一个字母大写。 2、构造方法没有返回值,不定义返回类型。 3、构造方法可以重载,针对参数数量和类型定义多个同名构造方法。 4、构造方法可以继承,子类可以继承父类的构造方法。 5、构造方法只用来对类实例进行初始化,目的在于简化初始化操作。
类是对象的“模板”,对象是类的实例。在JAVA语言 中,所有的东西都是对象,对象就如同是一种新型变量, 通过赋值语句对该变量进行初始化操作。
类的定义
类定义的一般格式
class 用户自定义的类 名
{
定义类的结构包含有类说明和类的实
体两部分。类的说明部分由关键字 class与类名组成;类体包括变量的 说明、方法的定义与实现两个部分。
// 采用构造方法实现上述功能,例6_4_1
// 研究带有构造器的类与没有构造器的类之间的区别
class Student1
//定义 Student1 类
{
static long sum=0;
String name;
String address;
String grade;
static int score;
面向对象程序设计(续)
面向对象使用类封装数据(属性)和方法(行为)。 封装使对象能够向其他对象隐藏它们的实现——该原则 称为信息隐藏。尽管对象通过良好定义的接口互相通信 (正如驾驶员的接口包括方向盘、油门踏板、刹车踏板 和变速器等),但是对象不知道其他对象是如何实现 的——正如驾驶员不知道如何实现转向、发动机、刹车 和变速器等机械装置。通常,实现细节隐藏在对象内部。
{
x=i; y=j; z=k; }
}
public static void main(String args[] ) {
Triangle t1;
//创建Triangle类的对象
t1=new Triangle(3,4,5);
//引用带参数的类构造器
if(judge(t1))
//引用judge()方法,返回布尔型值
对象abc x=4 Y=5
setPoint(int,int) getx() gety() toString()
new 运算符所做的三件事 1、首先在指定的类上创建一个对象 2、为该对象分配内存空间 3、执行由指定类所定义的构造方法
对象的引用
一旦对象创建之后,这个对象就拥有自己的成员变量和 方法。具体的引用办法为:
{ return PI*r*r;
}
float setR(float x) //定义给圆半径赋初值的方法
{ r=x; return r; }
public double perimeter() //定义计算圆周长的方法
{ return 2*PI*r; }
}
public class Circle6_2{
public static void main(String args[] )
// 定义 Triangle类并定义它的构造函数,例6-3
// 通过构造函数对Triangle类对象进行初始化操作
public class Tri_sele6_3{
static class Triangle {
//定义Triangle 类
int x,y,z;
public Triangle(int i,int j,int k) //定义Triangle 类的构造方法
重点是4、5、6条,实际也就是第3条的具体展开, 即本章主要说明如何创建和使用类和对象。
面向对象程序设计
面向对象程序设计(OOP Object-Oriented Programming)是现今程序设计的主流和流行趋势。 在面向对象的程序设计中,将所有事物都作为对 象来处理。
OOP的基本思想是把人们对现实世界的认识过程应 用到程序设计中。现实世界的物体就是对象,它有 两个基本特点一个是物体的内部构成,另一个是物 体的行为。OOP与现实对象两个基本特点相对应的 是数据和方法。数据表示对象的构成,方法表示对 象的行为。
String grade;
static int score; //类变量
public static long collect() //定义类的方法
{
sum+=score;
return sum;
}
public void getMessage(String x1,String x2,String x3)
相反,Java程序员的主要精力集中在创建自己的引 用类型,该引用类型称为类。每个类都包含一些域 (变量)及操作这些域的方法来作为类的成员。我 们有时用程序员在其它语言中惯用的非形式术语, 诸如“数据成员”;而没有用Java专用的术语,诸 如“域”。系统需求文档中的名词帮助Java程序员 确定最初的一组类,它们用这些类开始设计过程。 程序员使用这些类来实例化对象,这些对象将一起 工作以实现系统。
JAVA语言程序设计 第六章
面向对象的程序设计概念
主要内容
1. OOP概念 2. 类的概念 3. Java语言中,类的定义 4. 对象:包括创建对象、对象的引用、对象的
初始化和构造方法 5. 类的成员变量
([访问权限符] [static] [final] 类型 变量名)
6. 类的方法的引用和修饰(this、static、final)
wang.getScore(85);
System.out.println(zhang.name+zhang.address+zhang.grade);
System.out.println(wang.name+wang.address+wang.grade);
System.out.println( " 总成绩是 "+wang.collect());
{
double x,y;
Circle1 abc=new Circle1();
//创建Circle1类的对象
abc.setR( 12.35f);
//引用abc对象的setR方法
System.out.println("圆面积 x="+abc.area());
System.out.println("圆周长 y="+abc. perimeter());
在面向过程的编程语言中,编程一般面向操作。然 而,Java编程是面向对象的。在面向过程的编程语 言中,编程单位是函数。而在Java中,编程单位是 类。最终实例化(即创建)这些类而得到对象,属 性和行为作为字段和方法封装在类的“边界”内。
面向对象程序设计(续)
对于面向过程的程序员,他们的精力集中于编写函 数。首先对操作进行分组,将执行某个任务的操作 编写为一个函数,然后对函数进行分组以构成一个 程序。在面向过程的程序中,数据无疑是重要的, 但主要是为了支持函数所执行的动作。在描述新应 用程序需求的系统需求文档中,动词帮助面向过程 的程序员确定为了实现系统而互相合作的函数集。
else
return false;
}
}
/ /如何将没有设计构造器的类添加构造器,例6-4
// 研究带有构造器的类与没有构造器的类之间的区别
class Student
//定义 Student 类
{
static long sum=0; //类变量
String name;//对象变量
String address;
}
}
引用getMessage()方法对Student类进行初始化
程序运行结果
张三银川北京东路12号西北二民院经管系 王五 银川文萃路331号西北二民院计算机系 总成绩是 175
对象zhang name address grade
对象wang name address
grade
sum=175 Score=85
System.out.println(" 这是一个直角三角形");
else
System.out.println(" 这不是一个直角三角形");
}
public static boolean judge(Triangle m) {
if(m.x*m.x+m.y*m.y==m.z*m.z)
return true;
• 本章说明如何创建和使用类和对象。
类的概念
类是对对象的抽象描述 ,一个类中定义的方法可以 被该类的对象调用,对象方法的每一次调用被称作发送 一个消息给对象。对象间是相互独立的,只有接收消息 的对象才会对该消息起作用。
通过对现实生活中的具体对象进行抽象和处理,可以对 结构复杂而难以用简单方法进行描述的对象进行归类,设计一 个类似整型、实型这样的新的类型,来概括的描述他们的共性。 如果某一个实体具有这样的特征,通过声明和初始化可以作为 该类的实例。
相关文档
最新文档