面向对象程序中,继承,“可见性”是什么意思

2021-01-13 06:28:02 字数 5669 阅读 8219

1楼:拍拍屁股算了

子类继承父类中的属性和方法,可见性,就是父类属性被覆盖后是否可见。应该是这样把,好久没看了

什么是面向对象,什么是面向过程

2楼:

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

1.什么是面向对象技术?

面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它具有抽象性、封装性、继承性及多态性。

2.面向对象与面向过程程序设计有什么不同?

面向对象与面向过程程序设计有如下不同:

(1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象程序设计方法将数据和对数据的操作封装在一起,作为一个整体来处理。 函数与数据是否分离

(2)面向过程程序设计方法以功能为中心来设计功能模块,难于维护;而面向对象程序设计方法以数据为中心来描述系统,数据相对于功能而言具有较强的稳定性,因此更易于维护。

(3)面向过程程序的控制流程由程序中预定顺序来决定;面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际需要。 预定顺序;由运行时各种事件的实际发生来触发

(4)面向对象程序设计方法可以利用框架产品(如mfc,microsoft foundation classes)进行编程。 面向对象可利用框架 面向对象和面向过程的根本差别,在于封装之后,面向对象提供了面向过程不具备的各种特性,最主要的,就是继承和多态。

3.面向对象技术有哪些优点?

面向对象技术具有程序结构清晰,自动生成程序框架,实现简单,可有效地减少程序的维护工作量,**重用率高,软件开发效率高等优点。 4.面向对象技术中的封装性有何优缺点?如何克服这些缺点?

封装将对象有关的数据和行为封装成整体来处理,使得对象以外的部分不能随意存取对象的内部属性,从而有效地避免了外部错误对它的影响,大大减小了查错和排错的难度。另一方面,当进行修改对象内部时,由于只有少量的外部接口对外提供服务,因此同样减小了内部的修改对外部的影响。 如果一味地强调封装,对象的任何属性都不允许外部直接存取,则要增加许多没有其他意义、只负责读或写的行为。

这会为编程工作增加负担,增加运行开销,并且使程序显得臃肿。为了避免这一点,在程序的具体实现过程中应使对象有不同程度的可见性,进而与客观世界的具体情况相符合。

面向对象的特点是:封装,多态,继承。其中多态有分为重载和重写。面向对象的编程思想更加接近现实的事物。 有这样几点好处:

1、是编程更加容易。因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象。

2、在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。

3、在设计模式上(似乎只有面向对象才设计到设计模式),面向对象可以更好的实现开-闭原则。也使**更易阅读。 相对而言,面向过程的程序设计是面向对象程序设计的基础。

面向对象的程序里面一定会有面向过程的程序片断的

5.为什么要应用继承机制? 客观事物既有共性,也有特性。如果只考虑事物的共性,而不考虑事物的特性,就不能反映出客观世界中事物之间的层次关系。

抽象机制是考虑事物的共性,继承机制是考虑事物的特性,这样才能完整地描述客观世界的层次关系。继承能使软件模块具有可重用性、独立性,缩短软件开发周期,提高软件开发效率,同时使软件易于维护。

6.c++对多态性的支持体现在哪些方面?

c++的多态性分为编译时多态和运行时多态。编译时多态是指在程序的编译阶段由编译系统根据参数确定与哪个同名的函数相联系;运行时多态是指在程序的运行阶段才根据产生的信息确定需要调用哪个同名的函数。c++通过函数重载和运算符重载实现编译时多态,通过继承和虚函数来实现运行时多态。

7.目前常用的面向对象程序设计语言有何异同? 目前常用的面向对象程序设计语言有c++、java、visual basic等。c++是混合型面向对象程序设计语言,继承并改进了c语言,是一种既支持面向对象又支持面向过程的程序设计方法。

java是纯面向对象程序设计语言,从c++发展而来。c++和java均支持面向对象技术的基本概念和基本特征,如封装、类、构造函数、析构函数、继承、多态等。 c++与java语法描述有相同之处,也有不同之处。

如基本结构语句的语法大致相同,而类定义的语法等方面则不相同。

此外还有以下不同:

(1)c++有运算符重载机制,而java没有此特性;

(2)c++支持多重继承,而java只支持单重继承;

(3)c++通过构造函数创建对象,可以直接使用指针来操作对象的成员,而java通过new运算符创建对象,通过new运算符返回的对象引用来使用对象,而不是直接操作指针;

(4)c++程序要显式地释放所分配的内存,而java具有内存垃圾收集机制,自动管理内存,不需要显式释放所分配的内存。 visual basic继承了basic语言所具有的语法简单、容易学习、容易使用、数据处理能力强的特点,又引入了面向对象、事件驱动的编程机制和可视化程序设计方法,大大降低了开发windows应用程序的难度,有效地提高了应用程序开发的效率。但是,visual basic存在语法不严格、开发出的系统稳定性较低的缺点。

相对c++来说,visual basic面向系统底层的编程能力有限

java中面向对象到底是什么意思

3楼:匿名用户

面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。面向对象有三大特征:封装性、继承性、多态性,其中封装性指的是隐藏了对象的属性和实现细节,仅对外提供公共的访问方式,这样就隔离了具体的变化,便于使用,提高了复用性和安全性。

对于继承性,就是两种事物间存在着一定的所属关系,那么继承的类就可以从被继承的类中获得一些属性和方法;这就提高了**的复用性。继承是作为多态的前提的。多态是说父类或接口的引用指向了子类对象,这就提高了程序的扩展性,也就是说只要实现或继承了同一个接口或类,那么就可以使用父类中相应的方法,提高程序扩展性,但是多态有一点不好之处在于:

父类引用不能访问子类中的成员。

举例来说:就是:比如说你要去饭店吃饭,你只需要饭店,找到饭店的服务员,跟她说你要吃什么,然后就会给你做出来让你吃,你并不需要知道这个饭是怎么错做的,你只需要面向这个服务员,告诉他你要吃什么,然后他也只需要面向你吃完收到钱就好,不需要知道你怎么对这个饭进行吃。

4楼:哇哈哈

面对对象就是:

1:把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。

2:类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。

3:对象即为人对各种具体物体抽象后的一个概念,人们每天都要接触各种各样的对象,如手机就是一个对象。在面向对象的编程方式中,对象拥有多种特性,如手机有高度、宽度、厚度、颜色、重量等特性。

这些特性被称为对象的属性。

5楼:匿名用户

一.面向对象:

1.何谓对象:在面向对象程序设计中,我们将问题空间

6楼:匿名用户

只有new出来的才是对象

7楼:匿名用户

最简洁的解释也是比较官方的解释是,面向对象是一种 对现实世界理解和抽象的方法。但是这句话对于初学者来讲确实难以理解。

我把自己的理解用最通俗的语言解释一下,面向对象实际上就跟我们生活中很多情形一样,举例我们1000个人在同一家公司,对于公司来讲我们每个人都是一个对象,我们每个人所掌握的工作技能不同所以分工不同,我们各司其职在各自工作岗位上做好自己擅长的事情,所以公司能高效运作快速发展。面向对象就是这个道理,一个完整应用程序有很多个类,对于这个应用来讲每一个类都是一个对象,每一个类都只做一件事,单独实现一个功能,这么多个类组合一起就实现了一个功能完整的应用程序。这就是最通俗的解释了,不知道我说的你明白没。

更多java学习方面的问题可以访问这个网页,网页链接,希望我的回答能帮到你。

8楼:匿名用户

面向数据 。 所有的男人都是面向性冲动的一样 那就是一切

9楼:匿名用户

就是一种组织**的方式

面向对象的四个基本特征

10楼:匿名用户

面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。面向对象程序设计技术的提出,主要是为了解决传统程序设计方法——结构化程序设计所不能解决的**重用问题。

面向对象的编程方法具有四个基本特征:

1.抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。

抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。

2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。

但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

3.封装:

封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。

事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

4. 多态性:

多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。

多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、**共享的优势,很好的解决了应用程序函数同名问题。

面向对象程序设计具有许多优点:

1、开发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。

2、应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。

面向对象编程中的“继承”的概念是什么

1楼 匿名用户 是指 派生自同一个基类的不同类的对象 具有一些共同特征 继承 专是面向对象软件技属术当中的一个概念。如果一个类a继承自另一个类b,就把这个a称为 b的子类 ,而把b称为 a的父类 。 继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的 。在令子类继承父类的同时,可以重新...

vb中的程序转向是什么意思,vb程序中出现s=s+1语句是什么意思

1楼 兄弟连教育北京总校 是整除取商的意思 比如7 3 2余1 7 3 2 取的是商 vb程序中出现s s 1语句是什么意思 2楼 尸鬼收藏品 将s 原来的值 1附给s 3楼 腾讯电脑管家 stream close instream close text settext stream tostrin...

简述面向对象中的多态性的概念,什么叫做面向对象的 多态性???

1楼 匿名用户 主要是重载 overload 和覆盖 override 。 覆盖使得具有共同的类型 父类 的对象可以表现出每个对象 子类 自己的行为。 重载使得当调用同一个操作时,根据传入的参数不同,可以表现出不同的行为。 什么叫做面向对象的 多态性??? 2楼 匿名用户 多态性,就是一个父类的引用...