3.3面向对象进阶

1.java只有单继承,多重继承,没有多继承。(不可能有多个爹,但可以有个爷爷)
2.当子类对象找属性时,先去找父亲,没有这个属性,通过父亲找爷爷。
3.如果父类没有无参构造方法,那么子类只能通过super()来访问父类构造方法,属性,方 法。super(构造方法) super.sex();属性
4.重写:方法的重载,发生在继承类中;注:参数列表,返回类型必须相同;访辈分权限
越低,权限越大。父亲不能重写子类,静态不能被重写。
5.

面试题:1.java中重写发生在(Override),发生在字父类中。
重载发生在(overload)一个类中。
2.参数列表:
重载:必须不同;
重写:必须相同;
3.返回值类型:
重载:与返回值类型无关
重写:返回值类型必须一致;
4.访问权限:
重载:与权限无关
重写:子>父
5.异常处理:
重载:无关;
重写:范围更加精准,不许有新的异常。
6. 抽象类:abstract class 类名 {
Public abstract void add();//必须在这个类中;只用来声明未实现,没有{}
}

注:1.抽象类不能被直接实例化,不能直接用new,但是在子类创建时,会被 jvm实例化;
2.一个抽象类必学被子类继承,被继承的子类如果不是抽象类,则必须 重写抽象类中的全部方法。
3.不能用private修饰
4.如果继承抽象类,那么必须实现所有抽象方法。否者改为抽象
6.接口:只有抽象方法和全局变量
Interface 名称{
全局变量 不用加Public static final
抽象方法 可以不用加Public abstract

}
7.接口的实现:与继承不同能有多个爹,但不用都实现
Class 子类 implements 父接口1 .。。。
8.接口都是抽象的,所以可以多继承
Interface SDSD extends a,b{
}
9.多态(对象的多种形态,父类的用,之类的new)
10.Object:是所有没身份类的爹

例子:

public class BookTest {

	public static void main(String[] args) {
		Book b1 = new Book("童话",210);
		b1.detail();
		Book b2 = new Book("小红帽",10);
		b2.detail();
		Book b3 = new Book("白雪公主",200);
		b3.detail();
	}

}
class Book {

	private String title;
	private int pageNum;
	Book(){}
	Book(String title,int pageNum){
		setTitle(title);
		setPageNum(pageNum);
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public int getPageNum() {
		return pageNum;
	}
	public void setPageNum(int pageNum) {
		if(pageNum < 200) {
			System.out.println("页数不能少于200,已给予默认值200。");
			this.pageNum = 200;
		}else {
			this.pageNum = pageNum;
		}
	}
	void detail() {
		System.out.println("书名:" + title + ",页数:" + pageNum);
	}

}

package com.atkaikeba;

public class JavaStudentTest {

	public static void main(String[] args) {
		JavaStudent.setCompany("开课吧");
		JavaStudent.setSubject("JavaEE");
		JavaStudent s1 = new JavaStudent("张三",20,'男',"打篮球");
		JavaStudent s2 = new JavaStudent("李四",22,'女',"跑步");
		s1.info();
		s2.info();
	}

}
class JavaStudent {
	
	private String name;
	private int age;
	private char sex;
	private String hobby;
	//静态变量属于类的变量
	private static String company;
	private static String subject;
	
	public JavaStudent() {
		super();
		// TODO Auto-generated constructor stub
	}
	public JavaStudent(String name, int age, char sex, String hobby) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.hobby = hobby;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public char getSex() {
		return sex;
	}
	public void setSex(char sex) {
		this.sex = sex;
	}
	public String getHobby() {
		return hobby;
	}
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	public static String getCompany() {
		return company;
	}
	public static void setCompany(String company) {
		JavaStudent.company = company;
	}
	public static String getSubject() {
		return subject;
	}
	public static void setSubject(String subject) {
		JavaStudent.subject = subject;
	}
	void info() {
		System.out.println("名字:" + name + ",年龄:" + age + ",性别:" + sex + ",爱好:" + hobby + ",公司:" + company + ",学科:" + subject);
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可复用面向对象软件的基础是一本涵盖了面向对象软件设计原则和方法的重要教材。该书以简洁清晰的语言,详细介绍了面向对象软件开发的基本概念和技术。 该书的目录包含以下几个主要部分: 第一部分:导论 - 第1章:软件复用和面向对象软件开发概述 - 第2章:软件复用需求和特征分析 - 第3章:面向对象编程概述 第二部分:面向对象分析与设计 - 第4章:面向对象分析方法 - 第5章:面向对象设计原则 - 第6章:面向对象设计模式 第三部分:面向对象软件开发工具与环境 - 第7章:面向对象开发环境 - 第8章:面向对象编程语言概述 - 第9章:面向对象项目管理和团队合作 第四部分:面向对象软件复用 - 第10章:面向对象软件复用基础 - 第11章:面向对象库和框架 - 第12章:面向对象软件组件和服务 第五部分:面向对象软件复用实践 - 第13章:面向对象软件复用的实施步骤 - 第14章:面向对象软件复用的案例研究 该书结合理论与实践,通过丰富的案例研究和实施步骤的介绍,使读者更好地理解和掌握面向对象软件复用的实践技巧。此外,书中提供了大量的参考文献,方便读者进一步深入学习。 《可复用面向对象软件的基础》是一本对于软件工程师、计算机科学学生和从事面向对象软件开发的人员来说必不可少的参考书。通过阅读和学习该书,读者可以加深对面向对象思想的理解,提高软件开发效率和质量,实现软件复用的目标。 ### 回答2: 可复用面向对象软件的基础是一本非常重要的书籍,它由Bertrand Meyer于1988年出版。这本书详细介绍了面向对象软件设计和开发的基本原理和方法。 书中的目录包括以下几个主要章节:导言、面向对象方法概述、类和对象、继承、抽象数据类型、软件复用、面向对象方法的支持、面向对象方法的操作、面向对象方法的审计、面向对象方法的设计、面向对象的设计方法、面向对象方法与形式化方法、面向对象方法与产品生命周期、面向对象方法的方法论等。 这本书从面向对象软件设计的基本概念出发,系统地介绍了面向对象方法的理论和实践。它不仅包括了面向对象的核心概念,如类、对象、继承等,还深入探讨了抽象数据类型、软件复用等重要主题。 这本书的优点在于它将理论与实践相结合,既有深入的理论阐述,也有实例和案例的分析。通过这些实例和案例,读者可以更加深入地理解面向对象软件设计的思想和方法。 此外,这本书还介绍了面向对象方法的支持工具和审计方法,以及面向对象方法与其他方法的比较和集成。这些内容为读者提供了更多的选择和思考角度。 总的来说,可复用面向对象软件的基础是一本非常权威和实用的书籍,对于学习和应用面向对象方法的软件工程师来说是一本必读之作。无论是初学者还是有一定经验的开发者,都可以通过阅读这本书来提高自己的软件设计和开发能力。 ### 回答3: 可复用面向对象软件的基础PDF带目录是一种以面向对象编程为基础的软件开发指南,主要介绍可复用的软件设计原则和方法。该指南的目录结构如下: 1. 引言 1.1 软件复用的概述 1.2 面向对象编程的优势 1.3 本指南的目的和范围 2. 面向对象基础 2.1 类和对象的概念 2.2 继承和多态 2.3 封装和抽象 2.4 组合与聚合关系 3. 可复用的设计原则 3.1 单一责任原则 3.2 开放封闭原则 3.3 里氏替换原则 3.4 接口分离原则 3.5 依赖倒置原则 4. 设计模式 4.1 创建型设计模式 4.2 结构型设计模式 4.3 行为型设计模式 5. 软件复用的实践 5.1 组件化开发 5.2 框架设计 5.3 代码重构 通过阅读这本PDF,读者能够了解面向对象编程的核心概念和优势,掌握可复用软件设计的基本原则,学习常用的设计模式,并了解软件复用的实践方法。这对于软件工程师和开发人员来说是一本非常有价值的参考资料,可以帮助他们更好地设计和开发可复用的面向对象软件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值