java入门(四)-面向对象之封装,方法

面向过程思想概述

在程序设计思想当中有两种主流思想:

  1. 面向过程:当需要实现一个功能时,每一个过程都亲力亲为,详细处理每一个细节,例如C语言就是面向过程是语言
  2. 面向对象:就是偷懒,当需要实现一个功能时,不自己做,而是找一个已具有该功能的人,帮自己做。

面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求
面向过程的代表语言:C语言

面向对象之封装

封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

封装的案例引入

封装之前先看一个案例

// 定义一个学生类
public class Student {
   
	int age;
	String name;
	public void study(){
   
		System.out.println("我爱敲代码");
	}
}
// 测试类
public class Test01 {
   
	public static void main(String[] args) {
   
		Student s = new  Student();
		s.age=-10;
		System.out.println(s.age);
	}
}

  • 这时候你发现这么写是不符合规范的,因为年龄是不可能为负的; 这说明是个对象就可以访问属性,随便赋值,这样不行,我得想个办法不让其让问;
    提供一个特有的方法访问赋值;这个就是封装;

封装概述
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

封装的好处:
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。

封装的设计原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。

面向对象开发、设计、特征

  • 面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情
  • 面向对象设计:其实就是在管理和维护对象之间的关系。
  • 面向对象特征:封装,继承,多态

类和对象的关系

  • 类:是一组相关的属性和行为的集合
  • 对象:是该类事物的具体体现(是类的具体化实例)

关系:对象是类的派生,类是对象的总结
类:可以理解为构造对象的一个蓝图或者模版,是抽象的概念
对象:是以类为模型创建的具体实例,是对类的一种具体化。

成员变量和局部变量的区别

在类中的位置不同 :
成员变量 类中方法外
局部变量 方法内或者方法声明上

在内存中的位置不同:
成员变量 堆内存
局部变量 栈内存

生命周期不同 :
成员变量 随着对象的存在而存在,随着对象的消失而消失
局部变量 随着方法的调用而存在,随着方法的调用完毕而消失

初始化值(默认值)不同:
成员变量 有默认的初始化值
局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。

方法形式参数为类名时如何调用

  • 基本数据类型参数传递
//求两个整数和案例

public class Sum {
   
	// 定义求和的方法、这里的a、b就是形式参数,没有具体的值,等待被赋值;
	public int sum(int a,int b){
   
		return a+b;
	}
}

// 测试类
public  class Test01 {
   
	public static void main(String[] args) {
   
		// 创建对象
		Sum s1 = new Sum();
		int a=3;
		int b=4;
		// 传递参数调用方法
		int c = s1.sum(a, b);//这里的a、b就是实际参数;有具体的值;给形式参数赋值;
		System.out.println(c);
	}
}

  • 引用数据类型参数传递
//其实很简单,就是把参数 int a 换成 Student s即可;
注意:引用类型类类型当做参数时,传递的是其对象


案例:
public class ChuShi {
   
	// 做菜的方法
	public void 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值