![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, Visual Basic .NET, Ruby, Objective-C, and Swift. Objects also form the basis for many web technologies such as JavaScript, Python, and PHP. It is of vital importance to learn the fundamental concepts of object orientation before starting to use object-oriented development environments. OOP promotes good design practices, code portability, and reuse-but it requires a shift in thinking to be fully understood. Programmers new to OOP should resist the temptation to jump directly into a particular programming language or a modeling language, and instead first take the time to learn what author Matt Weisfeld calls "the object-oriented thought process." Written by a developer for developers who want to improve their understanding of object-oriented technologies, The Object-Oriented Thought Process provides a solutions-oriented approach to object-oriented programming. Readers will learn to understand the proper uses of inheritance and composition, the difference between aggregation and association, and the important distinction between interfaces and implementations. While programming technologies have been changing and evolving over the years, object-oriented concepts remain a constant-no matter what the platform. This revised edition focuses on the OOP technologies that have survived the past 20 years and remain at its core, with new and expanded coverage of design patterns, avoiding dependencies, and the SOLID principles to help make software designs understandable, flexible, and maintainable.
Hervorragend geeignet, um C++ im Selbststudium zu erlernen, dient der Titel genauso als Begleittext fur Lehrveranstaltungen und als Nachschlagewerk. Die Sprachkonstrukte von C++ werden mit Syntax-Diagrammen ubersichtlich vorgestellt. Ein ausfuhrliches Sachwort-Register sowie ein Verzeichnis der Syntax-Diagramme runden das Buch ab."
Parallel Programming with Co-Arrays describes the basic techniques used to design parallel algorithms for high-performance, scientific computing. It is intended for upper-level undergraduate students and graduate students who need to develop parallel codes with little or no previous introduction to parallel computing. It is also intended as a reference manual for researchers active in the field of scientific computing. All the algorithms in the book are based on partition operators. These operators provide a unifying principle that fits seemingly disparate techniques into an overall framework for algorithm design. The book uses the co-array programming model to illustrate how to write code for concrete examples, but it emphasizes that the important concepts for algorithm design are independent of the programming model. With these concepts in mind, the reader can write algorithms in different programming models based on personal taste and comfort.
Harnessing Hibernate is an ideal introduction to the popular framework that lets Java developers work with information from a relational database easily and efficiently. Databases are a very different world than Java objects, and they often involve people with different skills and specializations. With Hibernate, bridging these two worlds is significantly easier, and with this book, you can get up to speed with Hibernate quickly. Rather than present you with another reference, Harnessing Hibernate lets you explore the system, from download and configuration through a series of projects that demonstrate how to accomplish a variety of practical goals. The new edition of this concise guide walks you through Hibernate's primary features, which include mapping from Java classes to database tables, and from Java data types to SQL data types. You will also learn about Hibernate's data query and retrieval facilities, and much more. By reading and following along with the examples, you can get your own Hibernate environment set up quickly and start using it for real-world tasks right away. Harnessing Hibernate teaches you how to: * Perform Object/Relational mapping * Work with persistent data from Java code * Work with groups and relationships between objects * Extend Hibernate's rich type support for your own needs * Simplify query creation using criteria and examples * Use the Hibernate Query Language (HQL) and understand how it differs from SQL * Use Hibernate in conjunction with Spring * Use Hibernate in conjunction with other packages, such as the Stripes web framework and the Eclipse IDE Once you're past the first few chapters, you can jump to topics that you find particularly interesting or relevant. All background material and explanations of how Hibernate works and why is in the service of a focused task. Source code can be downloaded from the book's website. If using SQL is an uncomfortable chore, Harnessing Hibernate offers you an effective and trouble-free method for working with the information you store in your applications.
This practical guide provides a complete introduction to developing network programs with Java. You'll learn how to use Java's network class library to quickly and easily accomplish common networking tasks such as writing multithreaded servers, encrypting communications, broadcasting to the local network, and posting data to server-side programs. Author Elliotte Rusty Harold provides complete working programs to illustrate the methods and classes he describes. This thoroughly revised fourth edition covers REST, SPDY, asynchronous I/O, and many other recent technologies. Explore protocols that underlie the Internet, such as TCP/IP and UDP/IP Learn how Java's core I/O API handles network input and output Discover how the InetAddress class helps Java programs interact with DNS Locate, identify, and download network resources with Java's URI and URL classes Dive deep into the HTTP protocol, including REST, HTTP headers, and cookies Write servers and network clients, using Java's low-level socket classes Manage many connections at the same time with the nonblocking I/O
A Guide to MATLAB Object-Oriented Programming is the first book to deliver broad coverage of the documented and undocumented object-oriented features of MATLAB(R). Unlike the typical approach of other resources, this guide explains why each feature is important, demonstrates how each feature is used, and promotes an understanding of the interactions between features. Assuming an intermediate level of MATLAB programming knowledge, the book not only concentrates on MATLAB coding techniques but also discusses topics critical to general software development. It introduces fundamentals first before integrating these concepts into example applications. In the first section, the book discusses eight basic functions: constructor, subsref, subsasgn, display, struct, fieldnames, get, and set. Building on the previous section, it explores inheritance topics and presents the Class Wizard, a powerful MATLAB class generation tool. The final section delves into advanced strategies, including containers, static variables, and function fronts. With more than 20 years of experience designing and implementing object-oriented software, the expert author has developed an accessible and comprehensive book that aids readers in creating effective object-oriented software using MATLAB.
A visual, interdisciplinary approach to solving problems in numerical methods Computing for Numerical Methods Using Visual C++ fills the need for a complete, authoritative book on the visual solutions to problems in numerical methods using C++. In an age of boundless research, there is a need for a programming language that can successfully bridge the communication gap between a problem and its computing elements through the use of visual-ization for engineers and members of varying disciplines, such as biologists, medical doctors, mathematicians, economists, and politicians. This book takes an interdisciplinary approach to the subject and demonstrates how solving problems in numerical methods using C++ is dominant and practical for implementation due to its flexible language format, object-oriented methodology, and support for high numerical precisions. In an accessible, easy-to-follow style, the authors cover: Numerical modeling using C++ Fundamental mathematical tools MFC interfaces Curve visualization Systems of linear equations Nonlinear equations Interpolation and approximation Differentiation and integration Eigenvalues and Eigenvectors Ordinary differential equations Partial differential equations This reader-friendly book includes a companion Web site, giving readers free access to all of the codes discussed in the book as well as an equation parser called "MyParser" that can be used to develop various numerical applications on Windows. Computing for Numerical Methods Using Visual C++ serves as an excellent reference for students in upper undergraduate- and graduate-level courses in engineering, science, and mathematics. It is also an ideal resource for practitioners using Microsoft Visual C++.
In today's app-driven era, when programs are asynchronous and responsiveness is so vital, reactive programming can help you write code that's more reliable, easier to scale, and better-performing. With this practical book, Java developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm. Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You'll learn how RxJava leverages parallelism and concurrency to help you solve today's problems. This book also provides a preview of the upcoming 2.0 release. Write programs that react to multiple asynchronous sources of input without descending into "callback hell" Get to that aha! moment when you understand how to solve problems in the reactive way Cope with Observables that produce data too quickly to be consumed Explore strategies to debug and to test programs written in the reactive style Efficiently exploit parallelism and concurrency in your programs Learn about the transition to RxJava version 2
"An Introduction to Object-Oriented Programming with Java" provides an accessible and thorough introduction to the basics of programming in java. This much-anticipated revision continues its emphasis on object-oriented programming. Objects are used early so students begin thinking in an object-oriented way, then later Wu teaches students to define their own classes. In the third edition, the author has eliminated the author-written classes, so students get accustomed to using the standard java libraries. In the new update, the author has included the Scanner Class for input, a new feature of Java 1.5. Also new is the use of smaller complete code examples to enhance student learning. The larger sample development programs are continued in this edition, giving students an opportunity to walk incrementally walk through program design, learning the fundamentals of software engineering. The number and variety of examples makes this a student-friendly text that teaches by showing. Object diagrams continue to be an important element of Wu's approach. The consistent, visual approach assists students in understanding concepts.
Fundamentals of OOP and Data Structures in Java presents the fundamentals of Object-Oriented Programming (OOP) and Graphical User Interface (GUI) programming with Java as the example language. Wiener and Pinson introduce each of the major data structures with supporting, GUI-based laboratory programs designed to reinforce the basic concepts and principles. These laboratories allow the reader to explore and experiment with the properties of each data structure. All source code for the laboratories is available on the Web. By integrating the principles of OOP and GUI programming, this unique book presents the fundamental issues of data structures within the context of paradigms that are essential to today's professional software developer. The text assumes only an elementary understanding of Java and no experience with OOP.
The upcoming Java 9 module system will affect existing applications and offer new ways of creating modular and maintainable applications. With this hands-on book, Java developers will learn not only about the joys of modularity, but also about the patterns needed to create truly modular and reliable applications. Authors Sander Mak and Paul Bakker teach you the concepts behind the Java 9 module system, along with the new tools it offers. You'll also gain learn how to modularize existing code and how to build new Java applications in a modular way. Understand Java 9 module system concepts Master the patterns and practices for building truly modular applications Migrate existing applications and libraries to Java 9 modules Use JDK 9 tools for modular development and migration
In mechanical engineering the trend towards increasingly flexible solutions is leading to changes in control systems. The growth of mechatronic systems and modular functional units is placing high demands on software and its design. In the coming years, automation technology will experience the same transition that has already taken place in the PC world: a transition to more advanced and reproducible software design, simpler modification, and increasing modularity. This can only be achieved through object-oriented programming. This book is aimed at those who want to familiarize themselves with this development in automation technology. Whether mechanical engineers, technicians, or experienced automation engineers, it can help readers to understand and use object-oriented programming. From version 4.5, SIMOTION provides the option to use OOP in accordance with IEC 61131-3 ED3, the standard for programmable logic controllers. The book supports this way of thinking and programming and offers examples of various object-oriented techniques and their mechanisms. The examples are designed as a step-by-step process that produces a finished, ready-to-use machine module. Contents: Developments in the field of control engineering - General principles of object-oriented programming - Function blocks, methods, classes, interfaces - Modular software concepts - Object-oriented design, reusable and easy-to-maintain software, organizational and legal aspects, software tests - I/O references, namespaces, general references - Classes in SIMOTION, instantiation of classes and function blocks, compatible and efficient software - Introduction to SIMOTION and SIMOTION SCOUT.
What if you could condense Java down to its very best features and build better applications with that simpler version? In this book, veteran Sun Labs engineer Jim Waldo reveals which parts of Java are most useful, and why those features make Java among the best programming languages available. Every language eventually builds up crud, Java included. The core language has become increasingly large and complex, and the libraries associated with it have grown even more. Learn how to take advantage of Java's best features by working with an example application throughout the book. You may not like some of the features Jim Waldo considers good, but they'll actually help you write better code. Learn how the type system and packages help you build large-scale software Use exceptions to make code more reliable and easier to maintain Manage memory automatically with garbage collection Discover how the JVM provides portability, security, and nearly bug-free code Use Javadoc to embed documentation within the code Take advantage of reusable data structures in the collections library Use Java RMI to move code and data in a distributed network Learn how Java concurrency constructs let you exploit multicore processors
Write high-level abstractions while retaining full control of the hardware, performances, and maintainability. Key Features Transform your ideas into modern C++ code, with both C++11 and C++17 Explore best practices for creating high-performance solutions Understand C++ basics and work with concrete real-world examples Book DescriptionC++ Fundamentals begins by introducing you to the C++ compilation model and syntax. You will then study data types, variable declaration, scope, and control flow statements. With the help of this book, you'll be able to compile fully working C++ code and understand how variables, references, and pointers can be used to manipulate the state of the program. Next, you will explore functions and classes - the features that C++ offers to organize a program - and use them to solve more complex problems. You will also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guidelines. As you advance through the chapters, you'll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ book will guide you in fully exploiting standard containers and algorithms, understanding how to pick the appropriate one for each problem. By the end of this book, you will not only be able to write efficient code but also be equipped to improve the readability, performance, and maintainability of your programs. What you will learn C++ compilation model Apply best practices for writing functions and classes Write safe, generic, and efficient code with templates Explore the containers that the C++ standard offers Discover the new features introduced with C++11, C++14, and C++17 Get to grips with the core language features of C++ Solve complex problems using object-oriented programming in C++ Who this book is forIf you're a developer looking to learn a new powerful language or are familiar with C++ but want to update your knowledge with modern paradigms of C++11, C++14, and C++17, this book is for you. To easily understand the concepts in the book, you must be familiar with the basics of programming.
This book concerns software design. Although many current discussions of scientific programming focus on scalable performance, this book focuses on scalable design. The authors analyze how the structure of a package determines its developmental complexity according to such measures as bug search times and documentation information content. The work presents arguments for why these issues impact solution cost and time more than does scalable performance. The final chapter explores the question of scalable execution and shows how scalable design relates to scalable execution. The book's focus is on program organization, which has received considerable attention in the broader software engineering community, where graphical description standards for modeling software structure and behavior have been developed by computer scientists. These discussions might be enriched by engineers who write scientific codes. This book aims to bring such scientific programmers into discussion with computer scientists. The authors do so by introducing object-oriented software design patterns in the context of scientific simulation.
Nowadays, billions of lines of code are in the COBOL programming language. This book is an analysis, a diagnosis, a strategy, a MDD method and a tool to transform legacy COBOL into modernized applications that comply with Internet computing, Service-Oriented Architecture (SOA) and the Cloud. It serves as a blueprint for those in charge of finding solutions to this considerable challenge.
Globe-trotting travelers have long resorted to handy, pocket-size dictionaries as an aid to communicating across the language barrier. Dan Pilone's "UML 2.0 Pocket Reference" is just such an aid for on-the-go developers who need to converse in the Unified Modeling Language (UML). Use this book to decipher the many UML diagrams you'll encounter on the path to delivering a modern software system. Updated to cover the very latest in UML, you'll find coverage of the following UML 2.0 diagram types: Class diagrams Component diagrams* Sequence diagrams* Communication diagrams* Timing diagrams* Interaction Overview diagrams* Package diagrams* Deployment diagrams* Use case diagrams Composite structure diagrams* Activity diagrams* Statechart diagrams* * New or expanded coverage in this edition Also new in this edition is coverage of UML's Object Constraint Language (OCL). Using OCL, you can specify more narrowly the functionality described in a given diagram by recording limits that are the result of business rules and other factors. The "UML 2.0 Pocket Reference" travels well to meetings and fits nicely into your laptop bag. It's near impossible to memorize all aspects of UML, and with this book along, you won't have to.
A logical, straightforward approach to learning the C# language C# is a complicated programming language for building .NET-connected software for Microsoft Windows, the Web, and a wide range of devices. The friendly "All-in-One For Dummies" format is a perfect way to present it. Each minibook is a self-contained package of necessary information, making it easy to find what you're looking for. Upgrades in C# 2010 include the ability to build Windows 7 applications and compatibility with Python and Ruby.C# is a somewhat complex programming language for building .NET-connected software for Microsoft Windows, the Web, and other devicesBeginning C# programmers will appreciate how the All-in-One format breaks the topic into minibooks, each one addressing a key body of informationMinibooks include creating your first C# program, Windows 7 programming, basic C# programming, object-based programming, object-oriented programming, Windows programming with C# and Visual Studio, and debuggingCompanion Web site includes all sample code Beginning C# programmers will find "C# 2010 All-in-One For
Dummies" explains a complicated topic in an easy, understandable
way. Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
A unique text integrating numerics, mathematics and applications to provide a hands-on approach to using optimization techniques, this mathematically accessible textbook emphasises conceptual understanding and importance of theorems rather than elaborate proofs. It allows students to develop fundamental optimization methods before delving into MATLAB (R)'s optimization toolbox, and to link MATLAB's results with the results from their own code. Following a practical approach, the text demonstrates several applications, from error-free analytic examples to truss (size) optimization, and 2D and 3D shape optimization, where numerical errors are inevitable. The principle of minimum potential energy is discussed to highlight the deep relationship between engineering and optimization. MATLAB code in every chapter illustrates key concepts and the text demonstrates the coupling between MATLAB and SOLIDWORKS (R) for design optimization. A wide variety of optimization problems are covered including constrained non-linear, linear-programming, least-squares, multi-objective, and global optimization problems.
This textbook mainly addresses beginners and readers with a basic knowledge of object-oriented programming languages like Java or C#, but with little or no modeling or software engineering experience - thus reflecting the majority of students in introductory courses at universities. Using UML, it introduces basic modeling concepts in a highly precise manner, while refraining from the interpretation of rare special cases. After a brief explanation of why modeling is an indispensable part of software development, the authors introduce the individual diagram types of UML (the class and object diagram, the sequence diagram, the state machine diagram, the activity diagram, and the use case diagram), as well as their interrelationships, in a step-by-step manner. The topics covered include not only the syntax and the semantics of the individual language elements, but also pragmatic aspects, i.e., how to use them wisely at various stages in the software development process. To this end, the work is complemented with examples that were carefully selected for their educational and illustrative value. Overall, the book provides a solid foundation and deeper understanding of the most important object-oriented modeling concepts and their application in software development. An additional website offers a complete set of slides to aid in teaching the contents of the book, exercises and further e-learning material.
Unleash the power of JavaFX for a wide range of devices "JavaFX For Dummies" gives you access to an innovative software platform that allows you to create and deliver rich Internet applications that can run across a wide variety of connected devices. This accessible book highlights the most important features of this powerful graphics platform, giving you the tools to understand it quickly and easily No experience with JavaFX? No problem. "JavaFX For Dummies" has been written especially for newbies and it also serves as a great reference resource for more experienced Java developers. Author Doug Lowe has been writing programming books for decades, and he brings his experience and passion to this guide, sharing his expert approach to coding using JavaFX. The book shows you how to work with JavaFX controls, how to enhance your scenic design, and also offers advice on how to make a splash with your programs. Then, the author wraps it all up with extra recommendations and resources to guide you as you move forward.Helps developers quickly learn to take advantage of JavaFX's lightweight, high-performance platformHighlights essential JavaFX features for simple coding that can be rolled out across multiple devicesInstructs readers on methods for creating compelling, visually appealing applicationsIncludes recommendations and resources for honing your JavaFX skills With "JavaFX For Dummies," you'll be on your way to easier, more efficient coding for a variety of connected devices.
Praise for the first edition: "The well-written, comprehensive book...[is] aiming to become a de facto reference for the language and its features and capabilities. The pace is appropriate for beginners; programming concepts are introduced progressively through a range of examples and then used as tools for building applications in various domains, including sophisticated data structures and algorithms...Highly recommended. Students of all levels, faculty, and professionals/practitioners. -D. Papamichail, University of Miami in CHOICE Magazine Mark Lewis' Introduction to the Art of Programming Using Scala was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books. Object-Orientation, Abstraction, and Data Structures Using Scala, Second Edition is intended to be used as a textbook for a second or third semester course in Computer Science. The Scala programming language provides powerful constructs for expressing both object orientation and abstraction. This book provides students with these tools of object orientation to help them structure solutions to larger, more complex problems, and to expand on their knowledge of abstraction so that they can make their code more powerful and flexible. The book also illustrates key concepts through the creation of data structures, showing how data structures can be written, and the strengths and weaknesses of each one. Libraries that provide the functionality needed to do real programming are also explored in the text, including GUIs, multithreading, and networking. The book is filled with end-of-chapter projects and exercises, and the authors have also posted a number of different supplements on the book website. Video lectures for each chapter in the book are also available on YouTube. The videos show construction of code from the ground up and this type of "live coding" is invaluable for learning to program, as it allows students into the mind of a more experienced programmer, where they can see the thought processes associated with the development of the code. About the Authors Mark Lewis is an Associate Professor at Trinity University. He teaches a number of different courses, spanning from first semester introductory courses to advanced seminars. His research interests included simulations and modeling, programming languages, and numerical modeling of rings around planets with nearby moons. Lisa Lacher is an Assistant Professor at the University of Houston, Clear Lake with over 25 years of professional software development experience. She teaches a number of different courses spanning from first semester introductory courses to graduate level courses. Her research interests include Computer Science Education, Agile Software Development, Human Computer Interaction and Usability Engineering, as well as Measurement and Empirical Software Engineering.
As part of the best-selling Pocket Primer series, this book is designed to provide a thorough introduction to Java development for people who are relatively new to the Java programming language. It is intended to be a fast-paced introduction to the core concepts of Java and Java APIs, illustrated with code samples using primarily Java 8. Companion files with source code are available. FEATURES: Covers Boolean logic, loops, arrays, recursion, OOP concepts, data structures, streams, SQL, and more. Lists new features in Java 9 through Java 13. Features numerous code samples throughout. Includes companion files with source code.
In just 24 sessions of one hour or less, you'll learn how to build complete, reliable, and modern Windows applications with Microsoft (R) Visual Basic (R) 2015. Using a straightforward, step-by-step approach, each lesson builds on what you've already learned, giving you a strong foundation for success with every aspect of VB 2015 development. Notes present interesting pieces of information. Tips offer advice or teach an easier way to do something. Cautions advise you about potential problems and help you steer clear of disaster. Learn How To Master VB 2015 by building a complete feature-rich application Navigate VB 2015 and discover its new shortcuts Work with objects, collections, and events Build attractive, highly-functional user interfaces Make the most of forms, controls, modules, and procedures Efficiently store data and program databases Make decisions in code Use powerful object-oriented techniques Work with graphics and text files Manipulate filesystems and the Registry Add email support Create efficient modules and reusable procedures Interact effectively with users Write code to preview and print documents Debug with VB 2015's improved breakpoint features Distribute your software Download all examples and source code presented in this book from informit.com/title/9780672337451 as they become available. Who Should Read This Book Those who have little or no programming experience or who might be picking up Visual Basic as a second language. Bug Alert Description: Changing the startup form's name in a VB WinForms app does not update the "Startup form" #4517 Explanation: In the latest Visual Basic update on GitHub, Microsoft accidentally introduced a significant bug that you should be aware of. In the Visual Basic project properties dialog on one of the tabs (Application), is a drop down box for selecting the "startup object". This can be either a Main method or a System.Windows.Forms instance (or System.Windows.Window for WPF). When you do a rename on a form (say from the code editor in source or from the solution explorer) currently set as the startup form the rename doesn't cascade to the startup object project property cause the project to enter an invalid state where the user must now manually reset this project property from the now nonexistent Form to the new name. This is a huge annoyance. The fix for the bug (until Microsoft addresses) can be found here: http://www.jamesfo |
![]() ![]() You may like...
A Student Guide to Object-Oriented…
Carol Britton, Jill Doake
Paperback
R1,482
Discovery Miles 14 820
Java Parables Volume 1 - Object-Oriented…
Pamela Osakwe Leon-Mezue
Hardcover
R975
Discovery Miles 9 750
UML 2 Certification Guide - Fundamental…
Tim Weilkiens, Bernd Oestereich
Paperback
R1,335
Discovery Miles 13 350
Object-oriented Design Knowledge…
Mario Piattini, Javier Garzas
Hardcover
R2,715
Discovery Miles 27 150
|