第六,七章总结

2023-10-29 06:20
文章标签 总结 第六 七章

本文主要是介绍第六,七章总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                                                                面向对象的基础认知
        面向对象,是一种设计思想。从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编程思想,其以人类习惯的思维方式,用对象来理解和分析问题,使开发软件的方法与过程尽可能接近人类认识的世界、解决问题的思维方法与过程。如我们经常听说的面向对象编程就是主要针对大型软件设计而提出的,它可以使软件设计更加灵活,并且能更好地进行代码复用。

        面向对象,是一种设计思想。从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编程思想,其以人类习惯的思维方式,用对象来理解和分析问题,使开发软件的方法与过程尽可能接近人类认识的世界、解决问题的思维方法与过程。如我们经常听说的面向对象编程就是主要针对大型软件设计而提出的,它可以使软件设计更加灵活,并且能更好地进行代码复用。

1.介绍类与对象
        对象: 对象是实际存在的个体。

        类:现实世界中不存在的,是一个抽象的概念,是一个模板。

 创建类的语法:

pubilc class 类名{
    //类的内容
}
 注:

类名要有直白意义,最好是英文。

不要数字开头,不要有特殊字符。

2.创建类与对象

 创建类与对象:

public class Dog {
    public static void main(String[] args) {
        Dog duoduo =new Dog(); 
        Dog lucky = new Dog();
}
3.成员变量
对应的就是事物的属性

和之前定义的变量几乎时一样的,只不过位置发生了改变,成员变量位于类中,任何方法之外。

public class Dog {
    String name; int age;
    float weight;
        public static void main(String[] args){
            Dog duoduo=new Dog();
            duoduo.name="多多";
            duoduo.age = 6;
            duoduo.weight =13.5f;
            Dog lucky=newDog();
            lucky.name = "Lucky";
            lucky.age =3;
            lucky.weight =10.2f;
            System.out.println(duoduo.name + "今天" + duoduo.age +"岁了");
            System.out.println(lucky.name + "体重" + duoduo.weight +"千克");
        }
}

4.方法的作用
        方法名和类名相同,没有返回值和void,没有return,不能被static等关键字修饰,可以方法重载(定义多个参数列表不同的构造方法)

        当一个类中没有写构造方法时,系统会默认给该类一个默认的无参构造方法。当自己定义构造方法后默认的构造方法就不存在了。(自己定义有参的构造方法后,如果还想使用无参的构造方法,就要自己再添加一个无参的构造方法)

普通顺序结构:
public class MethodSample01 {
    public static void main(String[] args){
        int a =10;
        if(a % 2 == 0){
            System.out.println(a +"是偶数");
        }else{
            System.out.println(a +"是奇数");
    }
        int b = 5;
        if(b % 2 == 0){
            System.out.println(b +"是偶数");
        }else{
            System.out.println(b +"是奇数");
    }
}

定义方法,并调用方法:

 public class MethodSample01 {
    public String isOddNumber(int num){
        if(num &2 == 0){
            return "偶数";
        }else{
            return "奇数";
        }
    }
 
    public static void main(String[] args) {
        int a = 10;
        MethodSample01 methodSample01=newMethodSample01();
        Stringr1=methodSampile01isOddNumber(a);
        System.out.println(a +"是"+ r1);
        int b = 5:
        Stringr2=methodSample01.isOddNumber(b);
        System.out.println(b+"是"+r2);
    }
}

运算结果如下:

 

                                面向对象特性之封装

1.包-Package

         Java 中使用 package 语句定义包,package 语句应该放在源文件的第一行,在每个源文件中只能有一个包定义语句,并且 package 语句适用于所有类型(类、接口、枚举和注释)的文件。

         Java 引入了 import 关键字,import 可以向某个 Java 文件中导入指定包层次下的某个类或全部类。import 语句位于 package 语句之后,类定义之前。一个 Java 源文件只能包含一个 package 语句,但可以包含多个 import 语句。 

     

  如果使用不同包中的其它类,需要使用该类的全名(包名+类名)。

2.访问修饰符

3.封装
        封装是面向对象编程的核心思想。其将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用计算机,只需要使用手指敲击键盘就可以实现一些功能,而无须知道计算机内部是如何工作的。

        采用封装思想保证了类内部数据结构的完整性,使用该类的用户不能直接看到类中的数据结构,而只能执行类允许公开的数据。这样就避免了外部对内部数据的影响,提高了程序的可维护性。

http://t.csdn.cn/buO89
http://t.csdn.cn/buO89

                                                        面向对象特性之继承和多态
1.继承
        类与类之间同样具有关系。例如,平行四边形是四边形,正方形、矩形也是平行四边形,平行四边形与四边形具有共同特性。如果把平行四边形看作四边形的延伸,那么平行四边形就复用了四边形的属性和行为,同时添加了平行四边形特有的属性和行为,如平行四边形的对边平行且相等。可以把平行四边形类看作是从四边形类中继承的,Java语言中,将类似于平行四边形的类称为子类,将类似于四边形的类称为父类或超类。值得注意的是,在阐述平行四边形和四边形的关系时,可以说平行四边形是特殊的四边形,但不能说四边形是平行四边形。所以,继承是实现重复利用的重要手段,子类通过继承复用了父类的属性和行为的同时,又添加了子类特有的属性和行为。

2.多态
        将父类对象应用于子类的特征就是多态。比如创建一个螺丝类,螺丝类有两个属性:粗细和螺纹密度;然后再创建了两个类,一个是长螺丝类,一个是短螺丝类,并且它们都继承了螺丝类。这样长螺丝类和短螺丝类不仅具有相同的特征(粗细相同,且螺纹密度也相同),还具有不同的特征(一个长,一个短,长的可以用来固定大型支架,短的可以固定生活中的家具)。即,一个螺丝类衍生出不同的子类,子类继承父类特征的同时,也具备了自己的特征,并且能够实现不同的效果,这就是多态化的结构。


        实现多态的关键是接口,接口都没有方法实现,并且抽象程度更高。

3.ArrayList列表类的使用
        ArrayList 类是一个可以动态修改的数组(比普通的数组速度慢),与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。

        ArrayList 类位于 java.util 包中,使用前需要引入它:import java.util.ArrayList; // 引入 ArrayList 类
 
ArrayList<E> objectName =new ArrayList<>();  // 初始化

这篇关于第六,七章总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/298802

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern

暑期学习总结

iOS学习 前言无限轮播图换头像网络请求按钮的configuration属性总结 前言 经过暑期培训,完成了五个项目的仿写,在项目中将零散的内容经过实践学习,有了不少收获,因此来总结一下比较重要的内容。 无限轮播图 这是写项目的第一个难点,在很多项目中都有使用,越写越熟练。 原理为制造两个假页,在首和尾分别制作最后一页和第一页的假页,当移动到假页时,使用取消动画的方式跳到