Сам начинал еще с библиотеки Turbo Vision в Borland Pascal.
Автор книги, которая упоминается судя по всему Гради Буч.
Просто если смотреть на С#, там невозможно написать даже простейшую программу не используя классов. Даже любая простейшая функция должна быть в классе
![]()
Наиболее близкий к процедурному стилю будет подобный код в C#:
using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); int C = NumberUtils.Sum(2, 3); int D = NumberUtils.Mul(2, 3); Text = String.Format("C = {0}, D = {1}", C, D); } } public class NumberUtils { public static int Sum(int A, int B) { return A + B; } public static int Mul(int A, int B) { return A * B; } } }
Если смотреть поверхностно, тут есть класс NumberUtils. Но так как не создается никаких объектов, можно считаеть его аналогом модуля в Delphi, в котором описаны 2 функции Sum и Mul.
Далее приведу код, делающий то же самое, но более похожий на ООП код:
using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); Number C = new Number(2); C.Add(new Number(3)); Number D = new Number(2); D.Multiply(new Number(3)); Text = String.Format("C = {0}, D = {1}", C.AsInteger, D.AsInteger); } } public class Number { private int data; public Number(int NewValue) { data = NewValue; } public int AsInteger { get { return data; } set { data = value; } } public void Add(Number N) { this.AsInteger += N.AsInteger; } public void Multiply(Number N) { this.AsInteger *= N.AsInteger; } } }Преимущество 2 подхода в том, что теперь можно описывать классы-потомки от Number (например класс вещественных чисел и класс комплексных чисел), изменив у них методы Add и Multiply соответствующим образом.