C# 面向对象程序设计

C# 面向对象程序设计,第1张

不全是按照你的意思弄的,是我原来自己写着玩写的。 public class cStudy {

//构造函数,初始化学生信息

public cStudy(string _code,string _name,float _chinese,float _math, float _english)

{

Code=_code;

Name=_name;

Chinese=_chinese;

Math=_math;

English=_english;

}

public string Code; public string Name;

public float Chinese;

public float Math;

public float English;

float totalScore;

public float TotalScore

{

get

{

return Chinese + Math + English;

}

}

}

public class Cricle

{

public const double IP=314;

public static double Grith;

private double _r;

public double R

{

get { return _r; }

set

{

if (_r > 0)

{

_r = value;

}

}

}

public double getArea(double userR)

{

R = userR;

return IP R R;

}

public double getGrith(double userR)

{

R = userR;

return 2 IP R;

}

}

import javaawteventMouseAdapter;

import javaawteventMouseEvent;

import javaxswingJFrame;

import javaxswingJMenu;

import javaxswingJMenuBar;

import javaxswingJMenuItem;

import javaxswingJPopupMenu;

public class TestMenu extends JFrame {

private JPopupMenu jPopupMenu;

public TestMenu(String title){

super(title);

}

public void init(){

JMenuBar bar = new JMenuBar();

JMenu menuFile = new JMenu("文件");

JMenuItem menuFile1 = new JMenuItem("新建");

JMenuItem menuFile2 = new JMenuItem("打开");

JMenuItem menuFile3 = new JMenuItem("关闭");

JMenuItem menuFile4 = new JMenuItem("保存");

menuFileadd(menuFile1);

menuFileadd(menuFile2);

menuFileadd(menuFile3);

menuFileadd(menuFile4);

JMenu helpMenu = new JMenu("帮助");

JMenuItem helpMenu1 = new JMenuItem("新建");

JMenuItem helpMenu2 = new JMenuItem("打开");

helpMenuadd(helpMenu1);

helpMenuadd(helpMenu2);

baradd(menuFile);

baradd(helpMenu);

thissetJMenuBar(bar);

jPopupMenu = new JPopupMenu();

JMenuItem jPopupMenu1 = new JMenuItem("显示");

JMenuItem jPopupMenu2 = new JMenuItem("显示缺省");

jPopupMenuadd(jPopupMenu1);

jPopupMenuadd(jPopupMenu2);

thissetBounds(200, 200, 500, 400);

thissetResizable(false);

thissetVisible(true);

thisaddMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

if (egetButton()==MouseEventBUTTON3) {  

             //d出右键菜单  

jPopupMenushow(TestMenuthis, egetX(), egetY());  

            }  

           }     

});

thissetDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new TestMenu("测试菜单")init();

}

}

《面向对象程序设计》第03章在线测试

剩余时间:

57:18

答题须知:1、本卷满分20分。

2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。

3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共5分)

1、假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为(A )。

A、a B、AA::a

C、a() D、AA::a()

2、在关键字public后面定义的成员为类的(B )成员。

A、私有 B、公用

C、保护 D、任何

3、假定 ab 为一个类,则执行 ab x ;语句时将自动调用该类的 ( B) 。

A、有参构造函数 B、无参构造函数

C、拷贝构造函数 D、赋值构造函数

4、一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34的语句应该为 ( C) class A { int n; public: setn(int nl) {n=nl;} A(int x) {n = x; } } int f() {A ptr = new A(45); }

A、An=34; B、ptrsetn(34);

C、ptr->setn(34); D、setn(34);

5、假定AB为一个类,则执行“AB p=new AB(1,2);”语句时共调用该类构造函数的次数为(B )。

A、0 B、1

C、2 D、3

第二题、多项选择题(每题2分,5道题共10分)

1、下列可以作为类的成员的是( ACD)

A、自身类对象的指针

B、自身类对象

C、自身类对象的引用

D、另一个类的对象

2、关于封装,下列说法中正确的是(ABC )。

A、通过封装,对象的全部属性和 *** 作结合在一起,形成一个整体

B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)

C、通过封装,每个对象都成为相对独立的实体

D、通过封装,对象的属性都是不可见的

3、定义析构函数时,错误的说法是 ( ABD) 。

A、其名与类名完全相同

B、返回类型是 void 类型

C、无形参,也不可重载

D、函数体中必须有 del_ete 语句

4、下面关于静态数据成员的说法错误的是(BCD )

A、静态数据成员是类的所有对象所共有的

B、静态数据成员要在构造函数内初始化

C、类的每个对象有自己的静态数据成员

D、静态数据成员不能通过类的对象调用

5、下列描述属于类的成员函数的是(ABD )

A、构造函数

B、析构函数

C、友元函数

D、拷贝构造函数

第三题、判断题(每题1分,5道题共5分)

1、假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为x->a。 F

正确 错误

2、对类中引用成员的初始化是通过构造函数中给出的初始化表实现的。T

正确 错误

3、析构函数的作用是在对象被撤销时收回先前分配的内存空间。T

正确 错误

4、使用关键字class 定义的类中缺省的访问权限是私有private的。T

正确 错误

5、当两个对象之间进行复制时,复制完成后这两个对象的内容将完全独立,没有关联。 F

正确 错误

===============================第一题==============================

import javaappletApplet;

import javaawtColor;

import javaawtLabel;

public class test extends Applet {

private Label label;

@Override

public void init() {

label=new Label("欢迎来到java世界!");

labelsetBackground(ColorBLUE);

setBackground(ColorPINK);

add(label);

}

}

===============================第二题==============================

因为没图,所以自己设计的界面

import javaawtBorderLayout;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJPanel;

import javaxswingJScrollPane;

import javaxswingJTextArea;

public class test implements ActionListener {

private JFrame frame;

private JLabel label;

private JTextArea jt;

private JScrollPane jsp;

private JButton show;

public test() {

frame=new JFrame("Test");

label=new JLabel("显示内容");

jt=new JTextArea(10,20);

jsp=new JScrollPane(jt);

show = new JButton("显示给定内容");

JPanel panel=new JPanel();

paneladd(label);

paneladd(show);

frameadd(jsp,BorderLayoutNORTH);

frameadd(panel,BorderLayoutSOUTH);

showaddActionListener(this);

show();

}

public void show(){

framesetLocation(200, 200);

framesetSize(300, 260);

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

framesetVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

labelsetText(jtgetText());

}

public static void main(String[] args) {

new test()show();

}

}

1

The

initial

weight

of

goods:

0

The

total

weight

of

goods:

85

2

v1

=

(2,2)

v2

=

(5,4)

v3

=

v1

+

v2

=

(7,6)

3

n

=

1,

X

=

12

n

=

2,

X

=

34

n

=

1

面向对象程序设计的基本概念:面向对象, 概括地说, 就是把问题抽象为对象, 设置属性(数据) , 指定事件或处理方式(代码) 来达到目的, 强调从问题域的概念到软件程序和界面的直接映射。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。

面向对象程序设计的基本特征1)对象:对象是运行期的基本实体,它是一个封装了数据和 *** 作这些数据的代码的逻辑实体。2)类:类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。3)封装性:封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。4)继承性:继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。5)多态性:对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。例如:Print消息被发送给一图或表时调用的打印方法与将同样的Print消息发送给一正文文件而调用的打印方法会完全不同。多态性的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。在OOPL中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来实现多态性。6)动态绑定

绑定指的是将一个过程调用与相应代码链接起来的行为。动态绑定是指与给定的过程调用相关联的代码只有在运行期才可知的一种绑定,它是多态实现的具体形式。7)消息传递:对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。

面向对象语言

以上就是关于C# 面向对象程序设计全部的内容,包括:C# 面向对象程序设计、JAVA面向对象程序设计 菜单 *** 作、面向对象程序设计第3章等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9288067.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存