面向对象的三大特性:
(1)封装(Encapulation):表示被封装的属性不可以被外部直接访问,只能通过set()或者get()方法完成设置和获取.建议只要是属性,都要进行封装.封装的关键字是:private.
(2)继承(Inheritance):是程序实现复用和共享的重要方式,当子类继承父类后,子类将获得父类全部非私有的属性和方法,并可以在父类的基础上进行进一步的扩展.继承的关键字是:extends.在执行子类的构造方法之前需要先调用父类的构造方法,目的是对继承自父类的成员做初始化的工作.在JAVA中只支持单继承和多层继承,不支持多重继承,但我们可以通过实现接口的方式来模拟多重继承.
(3)多态(Polymorphism):是指程序在编译或运行的时候,相同名称的方法可以具有不同的功能,方法的重载(Overloading.是指定义名称相同但参数类型,个数,或者顺序不同的方法,因此在调用方法时可以根据参数类型,个数,以及顺序选定对应的方法)和覆写(Overriding,是指子类中定义名称,参数类型,个数以及顺序均相同的方法,用以覆写父类中的方法,如果父类的方法不想被子类覆写,则只需在方法前加一个final关键字即可,final表示的是最后一个,用它修饰一个变量,变量变为常量,无法再对其值进行修改)是两种十分重要的多态应用.还有一种是自动转型:在使用方法的时候,形参可以是父类类型,而实际传入的可以是子类对象,这样就可以接收任意子类,避免为每个子类编写对应的方法,这样就大大的提高了程序的灵活性,便于维护.
类是由属性和方法(成员变量和成员函数)组成 ,类就相当于模版,而对象就是由模版产生的具体实例,类只能通过对象来使用,对象的产生格式为 : 类名称 对象名 = new 类名称() ; 由于类也属于引用数据类型,所以在进行引用传递的时候,传递的只是堆内存的使用权,如果一个对象没有实例化(没有在堆内存中开辟空间),则在使用的时候就会出现空指针异常的现象.构造方法是类里比较特殊的方法,它规定方法不能有返回值,方法名一定要与类名称一致,如果类中没有明确的给出其构造方法,系统会自动生成一个无参的什么都不做的构造方法,故我们可以在没自己定义构造方法的时候直接使用new 类名称()的方式来实例化,但是一旦自己定义了带参数的构造方法,实例化对象的时候一定要给它传递相应的参数.
构造方法和普通方法的区别:
(1).返回值:构造方法不能有返回值,普通方法必须有返回值.
(2).方法名:构造方法的名称必须与类名称一致,而普通方法则无此限制.
(3).功能上;构造方法的作用是为了实例化对象和为属性赋值,而普通方法是为了实现对象的一些功能或行为
this和super的区别:
(1).属性和方法的访问上:this访问的是本来中的属性或方法,如果本类中没有,则从父类中继续查找.而super访问的只是父类中的属性或方法.
(2).this表示当前对象,而super无相关的意义.
(3).this调用本类构造必须将它放在构造方法的首行,而super调用父类构造必须放在子类构造的首行.
方法重载与方法覆写的区别:
(1).单词上:重载是(overloading),覆写是(Overriding).
(2).定义上:重载要求方法名称相同,参数的类型,个数或顺序不同,对方法的权限和返回值类型没有要求;而重写要求方法名称,参数类型,个数,顺序以及返回值完全相同,还有一个很重要是被覆写的方法不能有更严格的访问权限,若是父类的方法是私有的,子类是不可以覆写的.
(3).重载发生在一个类中,而覆写发生在继承类之中.
抽象类和接口的区别:
(1).接口的关键字是interface,而抽象类关键字是abstract.要实现接口使用implements,要继承抽象类要用extends.
(2).接口定义的只有常量(public static final)和抽象方法(abstract),而抽象类中只要有一个抽象方法即可,可以定义实现的方法
(3).在属性和方法的声明上,接口即使不声明,默认的也是常量和抽象方法,而抽象类必须明确说明.
(4).接口的默认修饰符是public,而抽象类的默认的是protected.
(5).抽象类在JAVA中表示的是继承的关系,一个类只能使用一次继承关系,而一个类却可以实现多个接口.
分享到:
相关推荐
【视频教程-C#面向对象基础01】是一个针对初学者的C#编程教程,主要讲解了C#语言中的面向对象编程基础知识。在这个教程中,讲师苏坤来自知名的教育机构传智播客,他将深入浅出地介绍面向对象编程的核心概念,帮助...
### JAVA面向对象基础知识点详解 #### 一、面向对象编程语言的发展史 面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,其核心在于将现实世界中的对象及其属性和行为映射到软件系统中...
【标题】"【传智播客.Net培训—C#面向对象基础】01面向对象简介1"所涉及的知识点主要集中在C#编程语言的基础部分,特别是面向对象编程(Object-Oriented Programming,简称OOP)的基本概念。面向对象是现代软件开发...
JS面向对象基础.
面向对象基础.md
第5章 面向对象基础.pdf
在"Java面向对象基础源代码教程"中,我们将深入探讨这一主题。 首先,我们需要理解面向对象的三个主要原则:封装、继承和多态。封装是将数据和操作这些数据的方法捆绑在一起,形成一个独立的对象。这样做可以隐藏...
面向对象基础是软件开发中的一种核心概念,它源自对现实世界中复杂问题的模拟和抽象。面向对象编程(Object-Oriented Programming, OOP)强调将数据和操作数据的方法封装在一起,形成对象,通过对象之间的交互来实现...
面向对象编程(OOP)是Java语言的重要特点,它从现实世界中客观存在的事物出发来构造软件系统,并尽可能运用人类的自然思维方式。面向对象编程的思想强调直接以问题域中的事物为中心来思考问题,认识问题,并根据...
总的来说,C#编程语言与面向对象基础教程旨在帮助学习者建立坚实的面向对象编程基础,并通过C#这门语言来掌握面向对象技术的核心概念和实现方法,从而在Web开发等领域的应用中能够更加得心应手。
《C#编程语言与面向对象基础教程》是一本专为初学者设计的教材,它深入浅出地介绍了C#这门强大的编程语言及其面向对象的基本概念。本教程以PDF格式呈现,确保读者能够轻松阅读和打印,同时附带源码,使学习过程更加...
在这个“JavaScript面向对象基础”的资料中,我们将会探讨JavaScript中的类、对象、封装、继承以及多态等关键概念。 1. **对象与对象字面量** 在JavaScript中,对象是由键值对组成的无序集合,可以使用对象字面量...
面向对象基础是软件工程中的一种重要思想和方法,它的发展历史、基本概念以及在软件开发过程中的应用构成了软件工程领域中的重要知识点。 首先,面向对象方法概述中提到了面向对象的软件工程方法,这是软件开发的一...
《C编程语言与面向对象基础教程》是一本深入浅出的IT学习资料,涵盖了C语言的基础和面向对象编程的基本概念。C语言是计算机科学中的基石,它的简洁性和强大的底层控制能力使其成为许多系统级开发和嵌入式领域的首选...
Java面向对象基础与高级知识点详解 Java是一种广泛使用的面向对象编程语言,它的设计哲学是“一切皆对象”。本讲义将全面深入地介绍Java面向对象的基础概念和高级特性,帮助开发者从初学者到精通者逐步提升技能。 ...
面向对象基础 文档 适用java编程 软件工程面向对象基础 文档 适用java编程 软件工程面向对象基础 文档 适用java编程 软件工程
根据提供的文件内容,本文将对C#...以上内容涵盖了C#面向对象基础的主要知识点及其具体实现方式。通过这些基本概念的学习,可以帮助开发者更好地理解和掌握面向对象编程的思想,从而编写出更加健壮和易于维护的代码。
总的来说,理解VFP的面向对象基础对于有效利用VFP开发应用程序至关重要,它能够帮助开发者更高效地组织和管理代码,提高软件的可扩展性和可维护性。通过掌握对象和类的概念,以及如何在VFP中利用它们,开发者可以...
面向对象的关键是抽象 面向对象分析设计的成功实施要求更高,难度更大: 在理解对象基本理论和开发技术的前提下,加上丰富的程序开发实践,才行。 结构化与面向对象方法应该相辅相成,在合适的地方用合适的方法。