zoukankan      html  css  js  c++  java
  • 面向对象....(概况)


    Chapter 1
    1_1 对象
    客观世界中的事物都是对象,包括有形的物理对象,可感知的逻辑实体,以及 概念化的抽象实体。它有自己的属性,能够执行特定的操作。 类 具有相同属性和操作的一组对象的集合;它描述的不是单个对象,而是“一类” 对象的共同特征。其重要性在于它是面向对象技术中最重要的结构,它支持信息隐藏和封装,进而支持对抽象数据类型(ADT)的实现。
    1_4 UML与面向对象
    UML是一种定义良好、易于表达、功能强大且普遍适用的建模语 言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。


    Chapter 2
    2_1 程序的功能一般通过方法代码来实现。每个方法都是从其第一行代码开始执行,直至 最后一行代码结束,期间可以通过代码来调用其他的方法,从而完成各式各样的操作。C#程序的起点是由Main方法定义的,程序总是从Main方法的第一行代码开始执行,在Main方法结束时停止运行。
    2_2 略(注:不同版本的Visual Studio的菜单项有所区别)
    2_3 略(注:不同版本的Visual Studio引用的程序集有所区别)
    2_4 C#源代码会被编译为一种通用的中间语言(IL)代码,该语言类似于低级语言,但 其代码与具体的硬件平台无关;之后CLR再针对特定的平台将IL程序翻译为机器指令,加载所需要的资源并管理执行。
    2_5 //动态链接库程序
    using System;
    namespace p2_5
    {
    class Adder
    {
    public static int Add(int a, int b)
    {
    return a+b;
    }
    }
    }
    //控制台应用程序
    using System;
    using p2_5;
    namespace P2_6
    {
    class Program
    {
    static void Main()
    {
    Console.WriteLine("请输入两个数:");
    int a = int.Parse(Console.ReadLine());
    int b = int.Parse(Console.ReadLine());
    Console.WriteLine("{0}+{1}={2}", a, b, Adder.Add(a+b));
    }
    }
    }

    Chapter 3
    3_1 略
    3_2
    第一:值类型的变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一 块区域;只有通过变量才能修改它所包含的数据。而引用类型的变量只存储对目标数据的引用,每创建一个变量,就增加一个指向目标数据的指针;有可能出现多个引用类型的变量指向同一份数据的情况,这时修改一个变量就会影响到其它所有的变量。
    第二:作为方法参数时,值类型变量传递的是数值,引用类型变量传递的是地址,因 此如果方法的执行代码修改了变量,对值类型的变量不会有影响,但会改变引用类型的变量。
    第三:装箱是将一个值类型转换为一个对象类型(object),而拆箱则是将一个对象类 型显式转换为一个值类型。
    3_3 略
    3_4 对整数为真,对实数不一定,因为实数受到计算机精度的影响。
    3-5 四次执行的结果分别是:3,6,-6,-3
    3-6 当两个操作数均为布尔类型时,与运算“&”和逻辑与运算“&&”的求值效果相同, 或运算“|”和逻辑或运算“||”的求值效果相同。但异或运算“^”不存在对应的条件逻辑运算。
    3-7 不是。if-else可进行任意分支,而“?:”操作符要求第二和第三个操作数的类型必须一 致。
    3-8
    class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine("按任意键退出,其它键继续…");
    while(Console.ReadKey().KeyChar!='Q')
    {
    Console.WriteLine("请输入本金:");
    double x = double.Parse(Console.ReadLine());
    Console.WriteLine("请输入利率:");
    double y = double.Parse(Console.ReadLine());
    Console.WriteLine("请输入存款年数:");
    double z = double.Parse(Console.ReadLine());
    Console.WriteLine("本息合计为:");
    for (int i=0; i<z; i++)
    {
    x= x + x*y;
    }
    Console.WriteLine(x);
    Console.WriteLin("按任意键退出,其它键继续…");
    Console.ReadLine();
    }
    }
    }
    3-9
    (1) class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine("Please input a number:");
    int n = int.Parse(Console.ReadLine());
    int i = 1, x = 1;
    while (i <= n)
    {
    x = x * i;
    i++;
    }
    Console.WriteLine(x);
    Console.ReadLine();
    }
    }
    (2)
    class Program
    {
    static void Main()
    {
    Console.WriteLine("Please input a number:");
    int n = int.Parse(Console.ReadLine());
    int i = 1, x = 1;
    do
    {
    x = x * i;
    i++;
    }
    while (i <= n);
    Console.WriteLine(x);
    Console.ReadLine();
    }
    }
    (3)
    class Program
    {
    static void Main()
    {
    Console.WriteLine("Please input a number:");
    int n = int.Parse(Console.ReadLine());
    int x = 1;
    for (int i = 1; i <= n; i++)
    {
    x = x * i;
    }
    Console.WriteLine(x);
    Console.ReadLine();
    }
    }
    3-10 略
    3-11
    class Program
    {
    static void Main()
    {
    Console.WriteLine("请输入一个字符串:");
    Console.WriteLine(Simp(Console.ReadLine()));
    }
    public static string Simp(string s)
    { StringBuilder sb1 = new StringBuilder();
    for (int i = 0; i < s.Length; i++)
    {
    while (i < s.Length - 1 && s[i] == s[i + 1])
    i++;
    sb1.Append(s[i]);
    }
    return sb1.ToString();
    }
    }

  • 相关阅读:
    第九周进度条
    梦断代码阅读笔记01
    NABCD分析
    软件工程个人作业05
    HDU 3949 XOR(线性基)
    luogu 2115 破坏(01分数规划)
    luogu 1360 阵容均衡(前缀和+差分+hash)
    luogu 1967 货车运输(最大生成树+LCA)
    luogu 1344 追查坏牛奶(最小割)
    BZOJ 2007 海拔(平面图最小割转对偶图最短路)
  • 原文地址:https://www.cnblogs.com/m123/p/4507497.html
Copyright © 2011-2022 走看看