栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA面向对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA面向对象

核心概念:类与对象

面向对象的三大特征:封装、继承、多态

面向对象最大优点:代码重用

类和对象

定义:类是具有相同的特征及行为的一种群体,指的是同种对象的集合和抽象。类中的成员变量用于描述类的属性。对象: 包含特征和行为,对象是类的具体实例。对象是类的实例,类是对象们的抽象。在JAVA中,方法是对类或者对象行为的抽象,在C/C++里叫做函数类{属性特征+行为(方法)}

举个例子就好比说人类是一个类,能划分为人类的生物是具有相同的属性和相同的行为的对象。

public class People{
    String name;//名字
    String sex; //性别
    String blood;//血型
    int age;//年龄
    int height;//身高
 void jump{
     System.out.println('I can jump!')
 	//实现跳的方法
 }
 void run{
     System.out.println('I can run fast!')
    //实现跑的方法
 }
}//类中的成员变量的声明和方法要存放在同一个类中,全部代码一定要放在类的大括号内
//创建对象的格式:类名 对象名 =new 类名([参数1,参数2])
People p=new People();//用new关键字实例化People类对象并将其赋值给p
//对象的使用
p.name="xiaoxiao";
p.sex="女";
p.blood="A";
p.age=18
p.height=180;
面向对象程序设计的三大特征

封装:将类的某些信息隐藏在类之中,不允许外部程序做直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。要实现封装需要将属性私有化,这样可以保证属性不被外部改动。优点如下:

隐藏类的实现细节让使用者只能通过事先预定的方法来访问数据可以进行数据的检查从而有利于保证对象信息的完整性便于修改提高代码的可维护性。(将该隐藏的隐藏起来,把该暴露的暴露出来,可以使用访问控制符实现。) 继承:继承是在封装的基础上实现的,一个类可以派生出多个子类。继承使得代码可以重用,避免了数据、方法的大量重复定义,保证了系统的可重用性。

被继承的类叫做:父类或者基类;继承的类叫做:子类或者派生类。当子类与父类建立了继承关系之后,子类也就拥有了父类的非私有方法的成员属性和成员方法,同时还可以拥有自己方法。并且JAVA只支持单继承,即一个子类只能有一个父类,不支持多重继承,即一个子类有多个父类,但是c++支持多继承。JAVA中还支持多层继承,意思就是父类也可以拥有自己的父类。在JAVA中所有的类都直接或者间接的继承了Object类。 多态:多态主要体现在两个方面:重载和重写。即在一个继承关系的程序中允许同名的不同方法共存,子类的对象可以响应同名的方法,具体的实现方法却不同,完成的功能也不同,意思就是一个方法多种实现。多态使面向对象语言具有了灵活性、扩展性、代码共享性的特征。(多态是以继承为前提的,只有继承关系下的类才具有多态的特性)

重写:指的是子类在继承了父类之后,但是又不想完全沿用父类的方法,子类可以重新实现方法体之中的内容,这样父类和子类之间就会有名字相同实现不同的方法。

重载:如果同一个类中包含了两个及两个以上方法名相同,方法参数的个数、顺序或者类型不同的方法,则称为方法的重载。与返回值,访问修饰符无关。

多态:多态又可以分为静态动态和动态动态,其中静态多态可以简单理解为方法的重载,在实际程序编写中动态多态的用法更广更有效。

Public class People{
     private string id;
	 public void setId(string pid){
         //方法体(void函数没有返回值,如果想在方法中的任何地方终止执行,可以使用return后面不加任何返回值)
     }
    public string getId(){
        //方法体
    }
}
public class Test{
    public static void main(String[] args) {
    People p=new People();
        p.setId();
        string id=p.getId();
}
}
public class People{
    public int age ;
    pubilc string name;
    public string
        public void run(){
         System.out.println('我可以跑!')
    }
}
public class Student extends People{
    public String number ;//自己的属性
    public void study(){
        //自己的方法
    }
}
public class People{
    public int age ;
    pubilc string name;
    public string
        public void run(){
         System.out.println('我可以跑!')
    }
}
public class Student extends People{
    public String number ;
    public void run(){
        System.out.println('我不可以跑!!')//方法的重写
    }
}
面向对象程序设计

需求分析:分析用户的需求并将具有相同的属性和行为的对象用一个类来表示。这是一个比较繁琐的过程。设计:在需求分析的基础上,对每一部分分别进行具体的设计,首先是对类的设计,然后再提出程序设计思路…编程:运用适当的面向对象语言进行编程。测试:对程序进行严格的测试。其中包括单元测试(白盒测试)、集成测试(黑盒测试和白盒测试)、系统测试(黑盒测试)。最后还要进行维护管理。 类的建模

类结构的设计通常使用统一建模语言(UML)

UML主要类图:用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图、对象图。

常用的建模工具:IBM的Rational Rose、Together、MyEclipse等。

类的层次结构设计

泛化:泛化关系就是继承,一般类和特殊类之间的关系是继承。依赖:两者相互有影响,依赖关系用一个虚线箭头表示。关联:是类与类之间的一种强依赖关系,这种关系不是临时的,是一种长期的语义关系。关联可以是单向的也可以是双向的。聚合: 是关联的一种特殊形式,体现的是类和类之间的整体与局部的关系。他们彼此独立但是又保持长期联系,一般是一对多的关系。组合:组合是一种特殊的聚合,整体类与局部类相辅相成,一旦整体类的生命周期结束,局部类的生命周期也随之结束。 面向对象程序设计原则

单一责任原则开放–封闭原则依赖倒转原则里氏代换原则

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715606.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号