面向对象浅见

面向对象的概念

面向对象的方法主要是把事物给对象化,包括其属性和行为。面向对象编程更贴近实际生活的思想。总体来说面向对象的底层还是面向过程,面向过程抽象成类,然后封装,方便使用就是面向对象,(万物皆对象)

面向过程和面向对象的区别

他们都是解决问题的思想。
面向过程:通过过程来解决问题,没有对象的概念,只是如何解决这个问题的过程。
面向对象:通过对象来解决问题,需要先构建对象(赋予解决问题的能力),然后指挥对象去解决问题。

对象

万事万物皆对象,对象就是一个具体存在的能够解决问题的个体;
如何区别:通过对象的属性和行为。
属性是记录对象的特征的。
行为是对象解决问题的能力。

类是对象的抽象,对象是类的实例化,类是一个模板,通过类来构建对象,在类里面定义对象的属性和行为;

面向对象实战思路

遇到问题,分析问题
通过分析,抽象成类
通过类构建对象
通过对象,解决问题。

类的创建

类的结构

[修饰符public]   class  类名{
		//属性:成员变量
   	  [修饰符public]   数据类型   属性名[=初始值];
		//方法:成员方法
		[修饰符public static]   返回值类型void   方法名([参数]){
	//方法体:解决问题的过程
		}
}  

具体实例
这是一个简单的学生成绩信息,有属性,方法和构造方法

public class Student {
	private String name;
	privateint xuehao;
	privatedouble score;
	privateStudent() {
	}
	public void score(String name,int xuehao,double score) {
		System.out.println("学生成绩信息:姓名"+name+",学号:"+xuehao+",成绩:"+score);
	}
}

创建对象

类名 对象名=new 类名();

public static void main(String[] args) {
		Student  s=new  Student();
	}

使用对象

对象.属性名;
对象.方法名();
案例

s.name="xiaohua";
s.xuehao=123;
s.score=90;
s.score();

创建对象的过程

在这里插入图片描述

OOP实例:求长方体的体积

定义一个长方体类

public class changfangti {
	public  int  lenght;
	public int width;
	public int	height;
	public changfangxing(int c,int k,int g) {
		lenght=c;
		width=k;
		height=g;
	}
	public void tiji() {
		System.out.println("长方体的体积为:"+lenght*width*height+"cm");
	}
}

主函数调用

changfangti gg=new changfangti(1, 2, 3);
gg.tiji();

构造器的定义

1.创建对象
new 类名();
这里调用的是构造器;
2.构造器
构造对象的过程
定义: 【修饰符】 构造器名称(参数){ 方法体}

//构造器:构造方法
	public  Circle() {
		//构造对象之后,用于初始化这个对象的属性操作
		r=4;
	}

3.使用构造器
new 构造器名字();
执行过程:首先通过类构建一个对象,然后执行方法题完成该对象的属性初始化。
4.缺省构造器
如果类中没有定义构造器,系统会在编译时自动创建一个无参构造器,即缺省构造器:public 类名(){}

但是如果你自己定义了构造器,系统则不会帮你生成缺省构造器。

成员变量

1.变量
变量分为两种,一种是局部变量,另一种是成员变量,也就是全局变量;
成员变量:定义在类中,对象的属性;
局部变量:定义在方法体中的变量。
2.成员变量和局部变量的区别
第一,声明位置不同:成员变量生命在类中,方法体外,局部变量定义在方法体内;
第二,修饰符不同:成员变量前可以用各种修饰符修饰,局部变量只能用参数类型来修饰;
第三,作用范围不同:成员变量可以作用于所有方法,局部变量只能存在于方法体内部;
第四,缺省值不同:成员变量有缺省值,局部变量没有缺省值。

3.成员变量缺省值
整数类型,0
浮点类型,0.0
char类型,空白字符
布尔类型,false

引用类型,null

4.变量重名问题
变量的作用域:一个变量只能在声明它的最小语句组中使用,超出这个语句组就不能使用。

重名规则:
一个类中,所有的成员变量之间,不可以重名。
一个方法中,所有的局部变量之间,不可以重名。
成员变量可以和局部变量(参数)重名,方法内直接使用的是局部变量。
一个方法中,局部变量和参数不能重名。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值